Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

"SystemException: 'System.Net.Sockets' are supported only with Unity Android Pro"

Discussion in 'Android' started by keithsoulasa, Oct 1, 2012.

  1. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    SystemException: 'System.Net.Sockets' are supported only with Unity Android Pro. Referenced from assembly 'Mono.Data.Tds'.

    This didn't happen before the last Unity update , did something change, I don't reference any DLL's from what I can see . Although I'm using NGUI...
     
  2. Ferazel

    Ferazel

    Joined:
    Apr 18, 2010
    Posts:
    513
  3. Tricko

    Tricko

    Joined:
    Jul 11, 2012
    Posts:
    14
    Last edited: Oct 1, 2012
  4. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    This doesn't make any sense, I run some basic post WWW and a get WWW, is that now a pro feature ?

    As in any online gameplay on android is now impossible with Android basic , I'm not too disappointed with this since I got my license with during the free give away(otherwise I'd be asking for a refund). But it still sucks .
     
  5. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    Ok this is getting weird ...

    "

    Access to Web Data through WWW Functions
    For access to web-pages and the data they contain, Unity provides an easy to use WWW interface. Both synchronous and asynchronous modes are supported. See WWW interface docs

    Open an URL in the User's Browser
    Use Application.OpenURL to open any URL in the default browser.
    These are the features I use, and their basic features

    .NET Socket Support
    Use .NET sockets to connect with virtually any back-end technology you want to create network-aware content that offers a dynamic and ever-changing game play experience. .NET socket libraries can be used for real-time networking, by opening TCP/IP sockets or sending UDP messages. They also make speaking XML easy, and can connect to ODBC database connections. I don't use this, I have no idea what it actually is- This is the pro feature "
     
  6. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    I might have some old code that directly connects to a SQL database,( i use WWW post now) but I think I took it out . Just have to look into latter .
     
  7. Aurodeus

    Aurodeus

    Joined:
    Jul 31, 2012
    Posts:
    1
    ya, I just encountered this also. Then I found this, http://unity3d.com/unity/whats-new/unity-3.5.6 (4th "fixes")

    What's the reason for this? Is it money? It is very disappointing. Why they didn't just block it in the first place.

    This is a good reason to start pirate, I haven't done it though, I'm just downgrading to 3.5.5 for now, all works fine again.
     
  8. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    For anyone else who has a problem with this , the simple answer is DO NOT use
    Code (csharp):
    1.  
    2. using System;
    3.  
    ANYWHERE in your project , this causing Unity to load, System.Net, which Unity basic on android can't run .
     
  9. GreatChicken

    GreatChicken

    Joined:
    Jul 18, 2012
    Posts:
    6
    I'm more annoyed that essentially this System.Net.Sockets restriction is *preventing me from using the base System namespace*, which include commonly used definitions like System.Convert (for safer casting) and Templates (System.Type) UNLESS I pay for functionality that I'm *not likely to use right now*.

    I can substitute System.Convert all right, but what do I do about System.Type?

    Edit: Alright, seems that typing "System.Type" every time I need to use "Type" works. A bit troublesome but at least I'm not getting blocked off an entire range of features due to one module.
     
    Last edited: Oct 18, 2012
  10. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    Its worse then that , this stupid "fix " completely destroys several code assets ( NGUI as well) since many of them rely on the System namespace .

    Not cool Unity , anyone who has android basic and NGUI is now completely screwed !
     
  11. xangamer

    xangamer

    Joined:
    Jan 15, 2011
    Posts:
    13
    License comparison page shows that sockets are available for Basic.
    Have they disabled them by mistake?

    Its such a shame if they changed the licensing now!!!
     
  12. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    For me I had a strange DLL file in my project I needed to delete ...
    after that it worked great
     
  13. redmotion_games

    redmotion_games

    Joined:
    May 6, 2013
    Posts:
    83
    Is this still a problem? I'm trying to build for Android on Unity basic and NGUI is still causing it to fail during compile. The NGUITools.CS being the cause. Cant believe it's 2014 and this is an issue still.
     
  14. Agent_007

    Agent_007

    Joined:
    Dec 18, 2011
    Posts:
    899
    Are you using latest NGUI version?
     
  15. Prashant_206

    Prashant_206

    Joined:
    Feb 26, 2014
    Posts:
    11
    I've removed Using system;
    But I'm still getting the error
    Error building Player: SystemException: 'System.Net.Sockets' are supported only with Unity Android Pro. Referenced from assembly 'Mono.Data.Tds'.
    I'm using Unity basic but there is just one script in the project. So there is no Pro feature I'm using
     
  16. gdbjohnson

    gdbjohnson

    Joined:
    Dec 16, 2014
    Posts:
    40
    Removing "using System" is not a solution. Don't remove this from your projects, since it has nothing to do with the Net.Sockets functionality.

    If you're like me, you tried adding the Mono.Data.Sqlite DLL, which apparently references the Sockets namespace as a dependency, and causing Unity to be upset. This is unfortunate, since Sqlite (as I'm using it) is just for local storage (for now). I do plan to move it all offsite, but... I'm indie for now, so don't want to spend on the license yet. I'm surprised that in 2015 now, that Sqlite is not better supported in Unity. It is a well-supported technology generally, and Scriptable Objects without polymorphism doesn't cut it for data storage (yet).

    Steps I took to resolve:
    1) Refactor my code to not use the Mono.Data.Sqlite DLL. Really annoying, but there you have it.
    2) Removed all references to the DLL in my project.
    3) Check your plugins folder for the DLL. Despite my project not referencing the DLL, it was being included in the build due to the DLL sitting in my plugins folder. This is the gotcha I experienced.