I have a few questions regarding Unity and custom assemblies…
1- Is it possible for me to create my own assembly in C# (say using Visual Studio or MonoDevelop) and then reference that assembly, its classes and functions within unity C#/Javascript scripts?
2- How would I go about using a custom .dll in these scripts?
3- Are there any limitations to such dlls? Do I have to compile for a certain .net framework? (such as 1.1, 2.0 etc).
Forget the plugins.html for this, if you write a C# library, you simply use it in Unity by dragging the C# dll into your assets folder, you only need the Plugins folder if you are going to use a C++ library. You can use C# DLL’s with Indy version of Unity and can skip the plugins all together.
All you have to do is add a
using YourNamespace;
At the top of your CS file, then call your methods like you would call any other method in Unity. Just take care to compile your project / class file for Framework 2.0, you can’t use System.Windows or System.Windows.Forms components, you do have some framework limitations but you will find those as you go along.
Using C# libraries are cake, oh and you can’t use anything made with SWING in Unity either, the P/Invoke isn’t cross platform compatible.
The questions may have been silly but they were a conceptual roadblock for me. I think knowing that I can pretty much use most of the power of the .net framework really makes Unity’s potential exciting for me.