Seasoned Unity developer here. Be careful. Unity is a mess.

Upon trying the latest release of Unity to develop the next game, I’m appalled by the changes in this company and platform that have occurred over the past few years while I took a hiatus from game development in my spare time.

I started with Unity 3 in 2012, then moved up to Unity 4 Pro, and Unity 5 and have launched mobile apps. I took a two year break from game development and now I’m ready to jump in again, but everything in Unity is now a big fat mess.

DOCUMENTATION
The documentation is horrible and broken…

  • On the Unity website from the main page, documentation links at the bottom of the page are broken.
  • On the Unity 2019.3.13. install page, documentation links are broken
  • From the manual, the drop down top-left to select older versions of manual or scripting reference doesn’t work.
  • Networking pages in both the manual and scripting reference is confusing or missing in action. Everything is marked ‘obsolete’ or that 'UNet is deprecated…"
  • I played around with the new Input system and found it confusing to figure out what is going on. Documentation is missing, confusing, incomplete and there are no tutorials to get one started quickly. I got it working, but only after watching 3rd party YouTube videos. Most of the new input system is all over the place and remains confusing (or perhaps broken).

BACKWARDS COMPATIBILITY
Unity backwards compatibility is non-existent or broken. My old projects cannot be upgraded without major effort, because Unity keeps deprecating core elements and replacing them with entirely new ones. Here are some of the hitches I encountered in the past week:

  • How many times has Unity replaced the particle system with zero backwards compatibility?
  • Everything in Networking is either obsolete or deprecated. My games depended on P2P LAN. Now I want to include multiplayer. Neither seems possible looking at the documentation.
  • UnityScript was very popular and my projects used both C# and UnityScript. UnityScript was dropped. (Personally, I think that UnityScript was one of Unity’s strengths over UnrealEngine for beginners. Without it in Unity, beginners might as well learn C++ and go with UE4 instead.)
  • Documentation in general seems to be part of an afterthought altogether.

For upgrading older projects, which could have hundreds of thousands of lines of code:

  • The JS2C# converter doesn’t work on the scripts by themselves (which would’ve been the preferred method). Instead, it expects the entire project to compile successfully in the later Unity version before it will work.
  • Since the project can’t compile due to all the deprecated elements in the old Unity version, there is no workflow (test, debug, install) to upgrade the project and its scripts into the latest version of Unity.
  • Of course, older packages purchased on the asset store that a project depended on won’t compile either, so they have to be deactivated or deleted before importing.

GETTING ASSISTANCE FROM UNITY
I’ve tried contacting Unity through the contact link at the bottom of the website a few times to get guidance and help, and nobody has responded. So, this company now also ignores developers trying to reach them.

GENERAL IMPRESSIONS
I consider myself fairly seasoned in Unity, but being confused myself by all the changes, lack of backwards compatibility, lack of documentation, and lack of support, I don’t know where a beginner would even start. I wouldn’t recommend anyone to start in Unity until they Unity got their act back together. I feel an urgent responsibility to warn people through op-eds and videos.

Developing a game or creative content takes great effort, money, and commitment. As an indie developer with a personal stake in the success your own projects, you also invest in the Unity as a company and, in essence, a partner. Everything you put your heart in, depend on them too. If Unity can’t be trusted for support and for keeping developers needs in mind in terms of compatibility and upgradeability, to keep the pace with rapid changing technology, or they don’t care about their developers, then there is no point in investing in this product.

Not responding to my requests for help goes one step further and got me angry. I’ve been one of the suckers who got fooled into investing in the Unity licensing cluster####s of the past, and having spent that money I at least expect to be able to get back some support when I ask for it. What does it take? Do you now have to go through your lawyer to get a response from this company, because I’m willing to go that route.

To me, these problems I encountered in just a week are signs of a company that may be mismanaged and possibly going under. I could be wrong, but that’s just my impression being an old guy in his 50’s who has seen that happen a few times before.

13 Likes

While not comforting in the short term, I do know these sorts of issues are making their way up the visibility chain at Unity. It is a big organization, with a lot going on, so it may take time for any course corrections.

1 Like

Yes unity webmaster is a monkey. But it’s your own fault if you use JS / UNet. You basicaly asking for trouble. Those were created for people that like challenge.

Its so funny having spent the last 6 months over in unreal land and seeing these same types of rants with the exact same points regarding unreal over there then come here and see the same thing.

9 Likes

That’s because no software is perfect. Neat tech demos come out that woo people but they don’t realize that every ecosystem has problems.

2 Likes

Hi GerardQ,

Sorry to hear you didn’t get a response. Our customer service team aims to reply to customers within one day during weekdays. Please send me the ID of your support request and I can take a look a your case

You can also contact our support team via Chat on our support website. The working hours for our chat-based support are Monday to Friday, from 00:00 to 23:00pm UTC+1 (London). If you don’t see the chat widget at the bottom (like today, because it is a Sunday), then we are closed for chat.

https://support.unity3d.com/hc/en-us/requests/new?ticket_form_id=65905

1 Like

I mean, if the problem with Unity is that they’re too big… Then they should be less big.

By the time things make their way up, there will be a new host of problems and issues that will be too late too fixed.

4 Likes

Is “none” the wrong answer?

If you are trying to migrate legacy particle effects to particle system effects, hopefully you can use this tool to update them: https://discussions.unity.com/t/687105
We took great care to track usage of the legacy system and only removed it once usage had fallen to tiny a fraction of a single % of total active projects. If you were affected and are struggling to upgrade, I’m sorry about that - leave a comment on the feedback thread and we will try to assist.

If you are also referring to the Visual Effect Graph, it’s such a radically different workflow that auto-upgrading is very difficult, but a tool may come at some point for this. But crucially, the Particle System is still very much alive and kicking - it’s not been replaced - if you have content using it, you can keep using it.

I can only go into detail about the particle stuff (I work on it), I cant disagree with the vast majority of your complaints. Many folks inside Unity are trying to improve this situation.

7 Likes

C# is absolutely not equivalent to C++. I say that as someone who uses C# all the time and struggles even understanding some of the C++ I’ve had to wrangle with.

2 Likes

A heck of a lot has changed since Unity 5. Do you think one week is really a reasonable amount of time to catch up with all that and upgrade your projects? I’ve been working in Unity more or less consistently since v2.4 (and on and off before that), and I wouldn’t expect to upgrade a largish project in under a week, let alone if I had to learn about everything that’s changed as I went.

When upgrading projects which have incompatible assets, the first thing I do is open the project in a version of the engine / Editor that the project was made for and swap out all of the incompatible stuff. You have to do that anyway, so you may as well do it in an environment that’ll help you. That’ll then mean that the updated version of Unity can help you get it the rest of the way.

Upgrading in steps can also help. I’d suggest stepping the project forward through the LTS releases rather than going from Unity 5 to Unity 2019/2020 in one step. That way you don’t have to deal with all of the changes at once.

I’ve given them similar feedback. Isn’t it still in preview, though?

I found it pretty quick to get set up and running and I quite like the design. But it does a lot more so there’s more info to chew through before you can start implementing whatever is right for your project. For my use cases now it’s far superior to the old system. However, I’m not using mobile / touch input so I’ve no idea how well it fares with that stuff.

4 Likes

Particle effects have turned up broken between different versions for us atleast. And then we do not talk about legacy particles.

2 Likes

Perhaps I misunderstood the OP - I thought they were referring to “replacement” particle technologies. We have had a few upgrade bugs over the various versions, but we have fixed every one that was reported to us. Upgrade bugs are particularly bad for users so we prioritise them internally, as well as regression bugs, where some existing functionality broke.

2 Likes

No you are right, though thats only semantics :wink: its still very bad for us developers when it happen More so for us smaller indie teams that dont have particle talent on the team but rely on asset store for such things.

2 Likes

Use Photon or Mirror, they’re quite good, mature and free. Though yes, I agree, the UNet deprecation was handled very badly by Unity.

There were quite a lot of good reasons Unity deprecated UnityScript. Only 3.6% of projects had more than 20% UnityScript included. Unity’s going through a huge transition period with lots of scripting upgrades, the entire DOTS technology stack, assembly definition files etc. Having to support UnityScript would have slowed them down even further. If you look at the comments on the blog post, it was a popular move in the community too.

I used UnityScript when Unity 3 was out, too, but I don’t really miss it. Personally I feel like C# is way more user-friendly than UE4/C++ too. At least the entire editor doesn’t crash when you get a null pointer.

Finally, you don’t have to upgrade if your old projects are already working fine. You can download basically any version of Unity you want.

1 Like

UnityScript should not have been done in the first place!.. Just like HDRP, LWRP, URP , LT, ect. ect.ect it just goes on and on… Messy Cluster F**K

UnityScript was all the way from Unity 1, though, not at all related to our current mess? There was Boo, UnityScript and C#. Unless I’m misunderstanding you?

2 Likes

I used csharpatron to update nimian Legends, hundreds of js files CSharpatron - the definitive Unityscript to C# converter! page-2

Unity dropped JS in 2018.2 so it works only up until unity 2018.1 see the forum link and you can DM him to see about getting a copy. It’s daunting but doable.

Legacy particles are updateable using a unity provided script. Legacy Particle System Updater You have to use it in 2017

I would recommend downloading unity 2017.4 for these reasons and update these first.

Also you will need to remove any old UI and use the new unity 5 ui since legacy , the ones that use GUITextures and GUIText are removed in unity 2019.3 ( I wish this had not been done in an point release)

Unity has made upgrading to new versions with legacy projects extremely difficult. It is the reason I Postpone updating some of my games, so I feel your pain. But it is doable.

This is the thing I want unity to fix more than anything. Post processing 2, built in render, deferred shadows, these are some of the many things being removed and it makes development difficult even though the engine itself of great to work with when you are not fighting project breaking updates.

Breathe and good luck.

To be fair, 3.6% of devs using it heavily and 0.8% of devs using it exclusively in their projects doesn’t really scream “very popular”. It wasn’t even dropped overnight, but phased out gradually. All of this was already known since August 2017.

1 Like

I recommend you jump up a version at a time and to 2018.1, not .4 first, before the nested prefab system was added (unfortunately in middle of 2018 - .3?)
UnityScript/JS was an easy move from something like Flash’s AS3 but it was deeply flawed in some areas with hacks to get it close (but never close enough) to C# which is much better tooled and more ‘standard’

2 Likes

“By 2016, the company reported more than 5.5 million registered users.”

That means 180,000+ using unityscript heavily. I was one of them and during my attempts to upgrade to c# which did successfully I encountered many dismissive comments about unity script users.

2 Likes