A collection of snippets for Unity development.
Snippets are supported by the following engines:
- SirVer/ultisnips: python, supports all snippets in this repo.
- garbas/vim-snipmate: VimL, snipmate-snippets, engine sometimes behaves strange. Supports snippets/*
- Shougo/neosnippet: VimL, supports snippets/* with some configuration.
Note: I only use UltiSnips so I did not test these snippets on the other engines. If someone does, please tell me your experience. So I can update this readme for other readers.
Add the following lines to your .vimrc:
Plug 'Mathijs-Bakker/vim-unity-snippets'
(Don't forget to do :PlugInstall)
And add "UnitySnippets" to UltiSnipsSnippetDirectories.
let g:UltiSnipsSnippetDirectories=["UnitySnippets"]
Example .vimrc:
call plug#begin('~/.vim/plugged')
  Plug 'SirVer/ultisnips'
  Plug 'honza/vim-snippets'
  Plug 'Mathijs-Bakker/vim-unity-snippets'
call plug#end()
let g:UltiSnipsSnippetDirectories=["UltiSnips", "UnitySnippets"]
When you experience any issues read :h ultisnips.
Add "ZenjectSnippets" to UltiSnippetDirectories.
let g:UltiSnipsSnippetDirectories=["UltiSnips", "UnitySnippets", "ZenjectSnippets"]
| Tab trigger | Description/output | 
|---|---|
| assetmenu | CreateAssetMenu attribute | 
| cor | Coroutine (method) | 
| cotimer | Coroutine timer (method) | 
| dl | Debug.Log(); | 
| sf | [SerializedField] | 
| sfield | [SerializedField] private $type $name | 
| utest | Playmode test (method) | 
| sprop | Unity property with serialized backing field | 
| Tab trigger | Description/output | 
|---|---|
| zctor | MonoBehaviour constructor | 
| ztest | Zenject unit test fixture file template (TDD) |