UnityEngine.dll

Hi,

We’re working in a public .Net project to integrate with Unity. While right now it’s not the case, eventually we’ll end up referencing Unity components, such as Vector3. The VisualStudio solution will end up containing a reference to UnityEngine.dll. The project will be publicly available. I’d prefer it to be buildable from checkout, instead of having to tell people “Oh, and copy your UnityEngine.dll here”, but I wonder if it’s kosher to have UnityEngine.dll publicly available on a repository, outside the rest of the Unity distribution.

What’s the accepted protocol for such a case?

Best,

Have you PM’ed Tom on this? While I think its a very nice piece of information to have available on the forums, I know Tom is quite busy at the moment and I’d hate for him to miss this post - as I imagine he would.

Hah, I have my spies keeping me well informed! :slight_smile:

To be fair though, Emil’s suggestion is a good one, if you have pressing needs for information, especially about whether something you want to do is legal, ok, kosher, whatever, then it’s best to ping me directly (PMs or even emails, I’m here to help).

On to the real meat of things… I’m not sure whether that’s ok to do or not, but my immediate response was in fact to say that it’s not. But before doing that I’d like to consult with others here internally and get back to you when I have a solid answer to offer. Stand by for that!

Hu?
you have been able to get UnityEngine work with any .NET project?

If so any chance for sharing how, because for me it blows up the moment I try to use any call within it (even if only the networking) independent if .NET 2.0 or 3.0

And after a quick chat with Joachim the word is: no problemo. So go for it Ricardo! :slight_smile:

Cool, thanks for the speedy reply Tom.

Not sure what to tell you, Dreamora, so far we’re not using a lot of the functionality (mostly Mathf and Vector3) and things are working. Could it be that whatever you’re using depends on some other DLLs? I’d suggest using Reflector to peek in.

I’ll let you know if I run into any roadblocks.

Best

I’m doing this as well from time to time.
You should realize though that a very very large part of the implementation of UnityEngine.dll is handled by calling out into the untiy c++ engine that embeds mono.
The stuff in UnityEngine.dll that is implemented in plain CIL works. stuff that does internal calls won’t work and will throw exceptions. You can use some CIL analysis tool to figure out what calls do and what calls do not do this. I think even MoMA might be able to tell you.

Bye, Lucas

The main interest were the networking ones to do a windows based server, but that stuff seems to be Unity dependant (not mono as even mono will blow up when trying to use them)

This is great news, thanks for following up on this Ricardo.

Sød! higgyB :slight_smile: (For those english folks out there “sweet”)

@ Tom

How many people did you get saying that?
Hvor mange mennesker fik du siger det?

I feel like speaking in danish today :slight_smile:

Exactly one, you… :stuck_out_tongue:

oh… wait… so… argh… nevermind! but I do like this one better :slight_smile:

Det sjove er vel at det kun er ca. halvdelen af UT folket som kan forstå dig når du oversætter til dansk :P
sandt ...

recently we licensed unity to create a multiplayer project wich is bigger than to be hosted by unity’s own networking system.
we took a look at many backends.
as dreamora knows our choice was exitgames’s photon but we did not like to implement anything from scratch there. they told us they are working on something to integrate physx or other libraries to make writing logic on server easier.
i think you should make things simpler by making it possible to use unityengine.dll or even the main C++ based engine in other places like normal C++ or .NET projects.
unity is a great platform for creating multiplayer browser based games but this limitation is against your policies of ease of use.

torque like engines have a big advantage in these situations because even the source is available. the source is not needed but please provide a solution sooner to make it easy for all teams in all sizes to make MMOs.
i am sure that you want that as much as we want it.
there is another solution to create a powerful MMO server for unity in partnership with backends like photon or on your own. then you can compete with MMO middlewares like hero engine too. your client engine is the main goal for you but integration is making problems here.

http://feedback.unity3d.com/forums/15792-unity/suggestions/989219-using-unityengine-dll-in-an-application-or-library
this is a feedback request. hopefully we will get more than 30 votes :slight_smile:

i know that features with less votes will be implemented if possible.
my request for having components in external assemblies with 15 votes is being implemented. however the reason might be that other users that love this feature are big community members like jashan or the staff (angry ant) :slight_smile:

thank you for the feature.