Connecting Unity to a "true" RakNet server?

I am working on a project in which we have a central RakNet server, and lots of heterogeneous clients are able to connect and read/write and render what’s going on on the server. These clients include standard glut/C++ or other rendering engines for instance, but that’s not really important.

We want to implement a Unity client to connect to the server and render what’s going on. The server is built using RakNet replicamanager. As far as I know, Unity only contains a small subset of RakNet that does not include the replicamanager, so we would have to somehow use a full version of RakNet in Unity.

Something like a managed C# dll. However, would this work on indie iOS Unity? Does anyone have experience with using “full” RakNet with Unity?

You can’t access the internal RakNet library inside Unity, but you can include a native dll (the full RakNet library in your case) and interface with it through something called native plugins (http://docs.unity3d.com/Documentation/Manual/Plugins.html), this does require Unity Pro.

Native plugins won’t work on the phone or andriod as far as I know, that is only for full desktop applications, also what works in the editor isn’t always supported in the client when built, they strip out anything they don’t want going with the program, found that out the hard way.

They work on any platform. On mobile you actually do not even need the Pro license to use them (which is interesting, given System.Net sockets require mobile pro licenses on the other hand ;))
As each platform requires an own lib anyway, you can adopt to the different requirements and offered socket options.

The only platform with no support for them is web / flash / nacl.

dreamora, I thought that dlls could only be loaded in the Pro version of Unity. Are you saying that c++ dlls can actually be loaded using Android indie version?

We only have Unity Pro desktop but not Android/iOS pro.