- Home /
Using WWW, says I need Pro for Socket Support
Hey guys I'm running into a big problem trying to test my app on my device. I am using WWW in my game (and as far as I can tell not using anything socket related). I dropped some personal budget on the android basic license (says it fully supports WWW). But when I go to build the apk, I get an error saying I need unity pro for socket support! Any help or ideas?
This is on unity 4 beta. Not sure if that matters.
Well, it's hard to tell what's wrong. I don't think the WWW causes this problem but you can't be sure since you use the beta version.
Are you sure you don't have any socket libraries in your project? $$anonymous$$eep in $$anonymous$$d that if you have any code in your project that uses sockets is enough. You don't have to use it actively.
I have 2 dlls I have included in my project. One is for $$anonymous$$ySQL (that is needed for the other to compile correctly it seems). Perhaps that is the problem? Is there any way for me to separate that out?
Curious why you would be using www and have a local $$anonymous$$ySQL dll? Is it some sort of handy $$anonymous$$ySQL library for creating/parsing returns from WWW? If not, dump it.
Yes, it is probably the problem. If it's a mysql connector (native or managed) it of course uses sockets ;)
You guys were right! I spent some time extracting the pieces I need into its own library and gutted the $$anonymous$$ySQL dll. Works like a charm!
Answer by Dreamora · Sep 16, 2012 at 12:55 PM
There is no bug in this case. Prior to Unity 4 the Unity Android side had the major bug of not correctly handling the Android vs Android Pro feature delta as .NET Sockets ALWAYS were a Pro only feature on mobile.
Since Unity 4 beta UT finally fixed this bug.
The only networking you have on android without Android Pro and without going to java plugins is WWW and Unity Networking I fear.
And yes DB libraries for DB technologies that are not embedded databases (SQLite, Seqoia, DBLinq) are always relying on .NET sockets to establish their connection as .NET sockets are the way to handle network communication on .NET.
So Dreamora, can you confirm that socket connection works correctly in Unity4 Android Pro and not Basic ? I tried to find a sample for that but not yet found, can you help ?
While this has nothing to do with the question (UnityEngine.WWW works on any license and any platform), yes I can confirm that. if you go to the store page and look at the license comparision posted there, you will see that since Unity 3.0, iOS Pro / Android Pro were required to make use of sockets (System.Net tcp and udp sockets on which 3rd party networkings rely)