Extensions

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
 
(42 intermediate revisions by 21 users not shown)
Line 1: Line 1:
== .NET plugins ==
+
{| style="width:100%; margin:auto; background:transparent;" cellspacing="0" cellpadding="0" valign="top" border="0" |
 +
| style="padding:0 .3em; background-color:#CEE0F2; font-size:90%; border:solid 2px #A3B1BF; text-align:center" width="8%" | {{{1|[[Extensions| Plugins]]}}}
 +
 +
| style="border-bottom:2px solid #A3B1BF" width="1%" |  
  
.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.
+
| style="padding:0.3em; font-size:90%; background-color:#CEE0F2; border:solid 2px #A3B1BF; text-align:center" width="8%" | {{{2|[[Extension/Methods| Extension Methods]]}}}
  
*[http://angryant.com/path.html 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.
+
| style="border-bottom:2px solid #A3B1BF" width="1%" |  
  
*[http://angryant.com/behave.html 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.
+
| style="padding:0.3em; font-size:90%; background-color:#CEE0F2; border:solid 2px #A3B1BF; text-align:center" width="8%" | {{{2|[[Extensions/Packages| Packages]]}}}
 +
 +
|-
 +
{|cellspacing="10px" valign="top" style="background:white; border-left:2px solid #A3B1BF; border-right:2px solid #A3B1BF"
 +
|-
 +
| valign="top"|
  
 +
{| align="right"
 +
  | __TOC__
 +
  |}
  
== Plugins ==
+
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.
  
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.
+
There are two kinds of plugin: .NET plugins, which contain only .NET code, and native code plugins, which contain binary code.
  
==== Cross-Platform Plugins ====
+
== .NET Plugins ==
  
*[[QTPlayback]] - Play any QuickTime movie, including synchronized sound, for which you have a codec installed, back to a texture.
+
.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.
  
==== Mac OS X Only Plugins ====
+
=== Cross-Platform Plugins ===
  
*[[AudioInput]] - This plugin lets you simply use AudioInput.Volume to provide micrphone or other audio input to your Unity projects.
+
*[http://forum.unity3d.com/viewtopic.php?t=50843&start=0 Antares.dll] : a shareware part of the freeware [[Antares Project]]. Including '''Antares.Manager''' (Events message system), '''Antares.Async''' (asynchronous Asset Bundle loading and management classes) and some more helpers.
  
*[[HtmlTexturePlugin]] - This plugin lets you display an HTML page as a texture, for use on a mesh or in a GUI.
+
*[http://angryant.com/path 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.
  
* [[UniWii]] - This plugin lets you use Wiimotes as input devices.
+
*[http://angryant.com/behave 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.
 +
 
 +
*[http://www.arges-systems.com/articles/35/unitysteer-steering-components-for-unity UnitySteer] - UnitySteer contains a series of classes that help your game characters or vehicles maneuver around a scene: how to accelerate and for how long, how to turn depending on vehicle characteristics, how to act when avoiding obstacles or neighbors, how to keep a distance from other agents, or many other cases. Some of these behaviors are quite simple, but they can easily be combined to generate more complex vehicles.
 +
 
 +
*[http://insidious.pt/#amplify Amplify] - Amplify is a Virtual Texturing extension for Unity Pro. It allows scene/level designers to use a huge amount of textures without worrying much about texture memory limits or streaming.
 +
 
 +
*[http://code.google.com/p/libnoise-dotnet/ Libnoise dotnet] - libnoise is used to generate coherent noise, a type of smoothly-changing noise. libnoise can generate Perlin noise, ridged multifractal noise, and other types of coherent-noise. Pure c# port including Improved perlin noise, simplex perlin noise, fractal filters (ridged, heterogeneous, multi, hybrid, sum, sin), all the libnoise utilities except Terragen renderer. More stuff [http://forum.unity3d.com/threads/114239-Libnoise-dotnet?p=759730 here]
 +
 
 +
*[[ManagedSqlite]] - Pointers to fully managed versions of Sqlite
 +
 
 +
=== Windows Only Plugins ===
 +
 
 +
*[http://speps.fr/xinputdotnet 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 > I fixed this in the updated archive on my website, thanks for the tip)
 +
 
 +
== 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 [http://unity3d.com/support/documentation/Manual/Plugins.html here].
 +
 
 +
=== Cross-Platform Plugins ===
 +
 
 +
*[[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.
 +
 
 +
*[[Syphon]] - [http://syphon.v002.info/ Syphon] is an open source Mac OS X technology that allows applications to share frames - full frame rate video or stills - with one another in realtime.
 +
 
 +
 
 +
|}
 +
<div style="border:2px solid #A3B1BF;padding:.5em 1em 1em 1em; border-top:none; border-bottom:2px solid #A3B1BF;  border-right:2px solid #A3B1BF; background-color:#ffffff; color:#000;">
 +
 
 +
</div>
 +
 
 +
[[Category:Plugins]]
 +
[[Category:.NET Plugins]]
 +
[[Category:Native Code Plugins]]

Latest revision as of 13:50, 6 February 2015

Plugins   Extension Methods   Packages

Contents

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: .NET plugins, which contain only .NET code, and native code plugins, which contain binary code.

[edit] .NET Plugins

.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.

[edit] Cross-Platform Plugins

  • Antares.dll : a shareware part of the freeware Antares Project. Including Antares.Manager (Events message system), Antares.Async (asynchronous Asset Bundle loading and management classes) and some more helpers.
  • 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.
  • UnitySteer - UnitySteer contains a series of classes that help your game characters or vehicles maneuver around a scene: how to accelerate and for how long, how to turn depending on vehicle characteristics, how to act when avoiding obstacles or neighbors, how to keep a distance from other agents, or many other cases. Some of these behaviors are quite simple, but they can easily be combined to generate more complex vehicles.
  • Amplify - Amplify is a Virtual Texturing extension for Unity Pro. It allows scene/level designers to use a huge amount of textures without worrying much about texture memory limits or streaming.
  • Libnoise dotnet - libnoise is used to generate coherent noise, a type of smoothly-changing noise. libnoise can generate Perlin noise, ridged multifractal noise, and other types of coherent-noise. Pure c# port including Improved perlin noise, simplex perlin noise, fractal filters (ridged, heterogeneous, multi, hybrid, sum, sin), all the libnoise utilities except Terragen renderer. More stuff here

[edit] 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 > I fixed this in the updated archive on my website, thanks for the tip)

[edit] 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.

[edit] Cross-Platform Plugins

  • QTPlayback - Play any QuickTime movie to a texture with synchronized sound.
  • UniWii - Use Wiimotes as input devices.

[edit] 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.
  • Syphon - Syphon is an open source Mac OS X technology that allows applications to share frames - full frame rate video or stills - with one another in realtime.


Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox