Extensions or Plugins allow you to extend the functionality of unity - adding special features to your unity projects without the hazzle of writing them yourself from the ground up.
.NET plugins differ from regular plugins in that they're essentially just .NET assemblies in plugin form. They are, when your project is built, merged with the compiled .NET code from your project scripts. This means that you can use them on a unity indie license as well as pro and in webplayers.
- 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-drop design interface and compiles designed behaviour trees are compiled to .NET plugins with a simple, but versatile runtime interface.
Regular plugins can be written in many languages - for instance C or C++. A unity pro license is required to use these plugins. Also they will not function in webplayers.
- QTPlayback - Play any QuickTime movie, including synchronized sound, for which you have a codec installed, back to a texture.
Mac OS X Only Plugins
- AudioInput - This plugin lets you simply use AudioInput.Volume to provide micrphone or other audio input to your Unity projects.
- HtmlTexturePlugin - This plugin lets you display an HTML page as a texture, for use on a mesh or in a GUI.
- UniWii - This plugin lets you use Wiimotes as input devices.