These extensions, or plugins, allow you to add special features to your unity projects without the hassle of writing them yourself from the ground up.
There are two kinds of plugin: those containing only .NET code and those which contain binary code.
.NET plugins are simply DLLs which have been built from Mono/.NET source code. When your project is built, they are merged with the compiled Mono code from your project's scripts. This means that you can use them with a Unity Indie licence as well as with Pro and in web players.
- Path - Add pathfinding to your unity projects. Path implements the A* algorithm on NavMeshes, using multi-threading and several optimisation tricks to reduce calculation time.
- Behave - Via an editor extension and a runtime library, this project implements behaviour trees in unity for AI decision making. It features an easy to use drag-and-drop design interface and compiles designed behaviour trees are compiled to .NET plugins with a simple, but versatile runtime interface.
Windows Only Plugins
- XInput.NET - Add complete support for Xbox 360 Controller, all buttons, axes, trigges, buttons and vibration. API very similar to Microsoft.Xna.Framework.Input. Tested with Unity Indie 2.6.0.(If you get a missing DLL Error, then you may need to download the source files from his website, and rebuild the DLL's)
Native Code Plugins
Native code plugins can be written in many languages, including C and C++. A Unity Pro licence is required to use these plugins. This kind of plugin can only be used in the editor and in standalone builds. The web player is prevented from using them for security reasons.
The Unity documentation outlines how native code plugins are made here.
- QTPlayback - Play any QuickTime movie to a texture with synchronized sound.
- UniWii - Use Wiimotes as input devices.
Mac OS X Only Plugins
- AudioInput - Use AudioInput.Volume to provide microphone or other audio input to your Unity projects.
- HtmlTexturePlugin - Display an HTML page as a texture, for use on a mesh or in a GUI.