Lidgren Network in Unity Web Player

So I’ve been working with the Lidgren-Network gen 3 library to set up some basic networking functionality within my game, and I must say it works really good. There were 0 problems out of the box making it work for the windows and mac builds. However, it doesn’t work at all for the web player build. I get the following error message:

Assets/3rdParty/Lidgren.Network/NetUtility.cs(23,18): error CS0234: The type or namespace name NetworkInformation does not exist in the namespace System.Net. Are you missing an assembly reference?

Now lidgren as far as I’m aware should be compatible with Unity3d, as I’ve heard of a few people using it. Lidgren’s wiki has some directions to follow for setting it up in the web player (here) but after following those directions it doesn’t appear to have resolved the issue. Now, I can actually comment out the ‘using System.Net.NetworkInformation;’ line in that file and interestingly enough it successfully compiles, but the library simply doesn’t connect, though no errors are given.

Anyone here have any luck making Lidgren play nice with the unity web player? It works fine in native windows/mac builds, but I just can’t get it to run in the web player.

Edit: The webplayer log file lists a few exceptions looking like follows, which might help explain why it’s not working…

SocketPolicyClient1: Incoming GetPolicyStreamForIP
SocketPolicyClient1: About to BeginConnect to 96.51.49.33:843
SocketPolicyClient1: About to WaitOne
SocketPolicyClient1: WaitOne timed out. Duration: 3007.172
SocketPolicyClient1: Caught exception: BeginConnect timed out
Throwing the following security exception: System.Security.SecurityException: SendTo request refused by Unity webplayer security model

“SendTo request refused by Unity webplayer security model” sounds particularly troublesome, as I’m unsure how to deal with such a thing. At a glance it looks like it’s not compatible, but people say it can be done, so I’m not really sure.

To answer my own question, in case other people are looking into it, the issue is caused by security sandboxing that occurs in Unity 3. You can fix it by running a security policy server, as described somewhere in : http://unity3d.com/support/documentation/Manual/Security%20Sandbox.html .