Up Against a Brick Wall with Cyberspace SA and Unity3D

Well, it's not working out.... !

After spending over a year coding in C# and Unity 3D creating a new way to visualize cyberspace, I recently purchased a fully maxed out 12-core CPU MacPro with 64 GB of RAM so I could gain performance by utilizing the 12-cores (24 virtual cores) waiting for Unity to come out with multi-threaded C# code in the Unity 3D IDE.

Now in Beta, Multi-threading in Unity3D is accomplished via the Unity version of the C# Jobs system; but it turns out that all these new multi-threaded features of Unity do not work with the thousands of lines of C# code I wrote; because Unity is moving to a new "Entity Component System" (ECS) which is totally different to how Unity now works.

So, I'm really bummed out. First of all, I was never a good OO programmer and had to learn C# from scratch to do all the Unity OO development; which quickly ran into performance issues due to the single threaded nature of Unity. Then, I wait and wait for the new multi-threaded features, and it is so far from what I learned ( see this thread for details ), that I have lost motivation to continue this Unity project for now.

So, I guess I am going to get back to focusing on these forums and getting the site all ready to run on new hardware and PHP7, which I put off for a year while working on this cyberspace SA application. I am really bummed out about Unity's approach to multi-threading and how they basically made the new multi-threaded system incompatible with all the prior Unity code.

Unity says the old system was not "thread safe" so instead they threw out the old system instead of making it thread safe and totally compatible with every Unity project ever written before the new ECS/Jobs system.

Errrrrrrrrrrrrrr. I'm kinda miffed at Unity now!! What a waste of over a year of time, learning C# from scratch for Unity 3D software development only to have Unity release a C# Jobs system which is not backwards compatible with all the existing Unity 3D C# MonoBehaviour code!

Bad Dog Unity. Bad Dog!

Hmmm. Just asked another (dumb) question:

Coroutines and the Unity C# Job System?

But I am pretty sure the answer is "we cannot use MonoBehaviours like Instantiating game objects or using Unity Coroutines outside of the main thread in Unity."