Monodevelop can't edit references - is Monodevelop locked?

Hi all

In the project I’m working on we’re trying to implement some functions that were built outside of Unity. Unfortunately, whenever I try to import these files into the game, I get errors such as

A quick Google led me to go into monodevelop and go to Solution → Assembly-UnityScript ->References; upon right clicking the References folder and clicking ‘edit references’ I can view a list of all packages available, including the ones I need for our project.

However, after checking and importing the packages I need, I am still getting errors from within my code. Additionally, after restarting Unity and going back into the References folder, none of the references I added in exist anymore. It seems like Monodevelop for Unity is locked into a certain feature set… is there any way to unlock monodevelop so I can edit the References list?

Thanks in advance

What namespace are you trying to add?

System.Linq, System.Data, System.Web, System.Web.Script.Serialization, and System.Management

AFAIK System.Linq is Microsoft’s technology for making it easier to generate SQL queries from C# code. I could be wrong but it seems unlikely Unity would support that stuff. Certainly it would be pretty ninja to have that technology running on Android / iOS.

I am a total Unity newbie, but I think your project is non Unity and relies on components that don’t exist in Unity?

This link suggests that Unity does it’s own WWW interface so wouldn’t support System.web

Yeah that thought crossed my mind… we’re initially developing for Windows, Linux and MAC, and we should be able to re-program the functions for each of those OS’s if need be using platform-specific libraries. I’m honestly not very concerned about that part so long as that’s not what’s holding Monodevelop back.

Okay, so eventually I decided that I would just have to live with this simply not being possible to do from within Unity for the reason that PompeyPaul listed in his post. However, if you really want to make use of extra classes and packages the best option that you have is launching an external program with system.diagnostics.process.start to do the work for you. You can then pass values back and forth to this program using parameters, exit codes, file saves and registry edits. Of course, this program would need to be re-done for every environment you released your game/project to.

In the end we were able to get our code to do what we wanted it to using just the packages that were available to Unity by default, but if we hadn’t been able to do that we would have gone this route.

I don’t use MonoDevelop, but for what it’s worth - I use Linq in pretty much every one of my projects, including mobile. It’s mobile support is kinda hit or miss though due to the way the compiler works.