# Unity Completions Light #### Package for [Sublime Text](http://www.sublimetext.com) This package provides auto-completions for [Unity](http://www.unity3d.com/) classes, variables and functions. It works with all Unity-supported languages: JavaScript, C# and Boo. This is a lighter version of the Unity Completions package. The full package shows a more detailed, easy-to-use pop-up menu for auto-completions, but on the other hand adds several seconds to Sublime Text's loading time. If you don't open and close Sublime Text too frequently, I recommend using the full version. ## Installation ### Package Control The easiest way to install this package is using [Package Control](http://wbond.net/sublime_packages/package_control). Choose to install the "Unity Completions Light" package. (See [installation](http://wbond.net/sublime_packages/package_control/installation) and [usage](http://wbond.net/sublime_packages/package_control/usage) for help.) Package Control will also keep you updated. ### Manual Alternatively you can install this package manually: 1. Open the [packages directory](http://docs.sublimetext.info/en/latest/basic_concepts.html#the-packages-directory) from the Sublime Text menu (Preferences | Browse Packages...) 2. Create a new directory called "Unity Completions Light" 3. Copy the contents of this package into the new directory ## Usage Simply start typing any Unity term or press Ctrl+Space. You don't have to be accurate - a few consonants may be enough, preferably in the right order. For example, type in gbjact and you will instantly be offered completions with these letters: ![gbjact](http://oferei.github.io/sublime-unity-completions/complete-gbjact.png) Notice the type on the right side: _[var]_ for variables, _[class]_ for classes or parentheses with parameter names for functions. Another example. Type in pscast and you will be offered: ![pscast](http://oferei.github.io/sublime-unity-completions/complete-pscast.png) Notice that functions may appear multiple times if they have several definitions. They can be distinguished by the parameter names. (The pop-up is too small to include the types...) Once you select a _function_ completion, a full snippet will be inserted, including the parameter types, names and default values: ![SphereCast](http://oferei.github.io/sublime-unity-completions/func-spherecast2.png) You can then use Tab and Shift+Tab to quickly navigate between the parameters. ### Limitations The _Unity Completions Light_ plugin is simple. It does not analyze the code to detect variable types. It only relies on the word being typed. In addition, Sublime Text's auto-complete is interrupted by dots. Typing in a dot will cause Sublime Text to ignore anything before the dot. Let's say, for example, that you have a variable named enemy of type GameObject and you want assistance writing enemy.activeInHierarchy. Typing enemy. (with a dot) will not work. As soon as you type in the dot the completions pop-up will close. If you continue typing after the dot, for example enemy.activein, you will be presented with completions, but they will only be based on the part after the dot: activein. Suppose you choose the completion activeInHierarchy, you will end up with: enemy.GameObject.activeInHierarchy. The class name is inserted together with the variable name. Simply delete the class name manually. ## Status Up to date with Unity version 2019.2.16. ## Generation The _Unity Completions Light_ package files were generated automatically using [this generator](https://github.com/oferei/sublime-unity-completions-generator). The data is based on the [Unity Scripting Reference](http://docs.unity3d.com/Documentation/ScriptReference/). ### Boo Developers Ahoy! If you're developing in Boo, know that this package recognizes .boo files, but I recommend installing the [Boo package](https://github.com/Shammah/boo-sublime) as well if you're into syntax highlighting. ## License (The MIT License) Copyright (c) 2013 Ofer Reichman Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.