This is a collection of extensions for the Unity 3D engine.
This is only tested in Unity 2017.3. It uses the new .NET runtime.
The repo contains a Visual Studio 2017 project. You can build it yourself or check out the Releases.
This contains multiple separate extensions for Unity 3D. They can be all added separately.
This project contains a Visual Studio 2017 solution file.
The assemblies UnityEditor.dll
and UnityEngine.dll
are already referenced and should work when Unity is installed at the default location.
Usage:
Windows: ./build.ps1
Linux / macOS: ./build.sh
This will build the solution and put the results in the build
folder.
There is a task CopyToProject
which will copy the build .dll
and .xml
files to a Unity project.
See the help message that will be printed for instructions.
There are optional parameters:
Parameter | Meaning |
---|---|
-project | Path to copy the resulting dll and xml files to. This is useful for testing. |
-unity | Path to a Unity installation. This will force the build to use this Unity installation. |
File: custom-editors.dll
Contains a new editor for all MonoBehaviour
-derived components. This will optionally display all lists and arrays with a ReorderableList
. The behaviour can be changed within a preference pane.
Files: custom-properties.dll
and custom-properties-editor.dll
Contains a multitude of custom properties.
Attribute that draws an enum field as a flag dropdown. The used enum should have the Attribute System.Flags
.
Attribute that shows a button that executes a method on the object.
Attribute that shows a help box. This is a decorator.
These Attributes limit a float
field to a minimum or maximum respectively.
Interprets Vector2
and Vector2Int
values as a minmax range.
Attribute that shows an error box if an object reference is not set.
Attribute for strings that shows an error message when the value is empty or whitespace only.
Attribute that displays the value of the field as a label.
Attribute for layer masks that shows an error message when no layer is selected.
Attribute that can be added to string
attributes. Instead of the string
value a dropdown with all available Tags is displayed.