I’ve been very frustrated with the latest Unity version, 2022.2. We’ve been working on a game project for a couple of years, and since updating to the new version, we have encountered numerous bugs and issues that are making development and also making bug fixes for a released product nigh impossible.
The most recent significant issue I have come across is with the Cloth System, specifically when building for a 64-bit release. When building for the aforementioned architecture the cloth objects disappear, and a message is logged stating that “All scale components must be non-zero”, these scale values don’t have a value of zero set in the editor and are never changed during gameplay. This issue is making it impossible for us to use the Cloth System in any way, and we have wasted countless hours trying to troubleshoot the problem.
I understand that bugs are an inevitable part of software development, but this level of bugginess is unacceptable, especially for a product as widely used as Unity. I just don’t understand how an issue as this one can just fly under the radar.
I urge the Unity development team to prioritize bug fixing and quality control in future releases. As users, we rely on this software to create games and other projects, and it is essential that it is reliable and stable. I hope that the team takes this feedback seriously and works to improve the stability and functionality of Unity and all it has to offer.
Thanks for reading my rant and I hope you’ll be more careful with future major updates!
While this can be frustrating for sure, I also read from this post that you upgraded your project and had the team work with that before all of the project’s systems had been fully tested, and that includes building for every target platform and testing that build until you feel confident that there aren’t any major issues. Not doing so is a no-go for a project that needs continued maintenance.
The other thing I want to point out: sometimes, a “bug” may be intentional. Like in this case it could be that 0-scaled objects used to be accepted but it was really an issue that could eventually (even if very rarely) lead to a div-by-zero error of some kind somewhere else. Disallowing such situations is proactively preventing potential crashes.
Such things are usually logged in the changelogs. While it is arduous to go through each versions log, for important projects where you are considering to update it’s crucial to go through the logs so you gain an understanding what kind of issues you may be running into (or no longer need to be worked around/avoided).
I would never upgrade my teams project from an LTS to a tech stream on a live project. We are reluctant to even update LTS patch releases and test everything in live builds end-to-end whenever we do.
Either reverse what you did via source control, or accept that this is really a case of bad process on your side rather than unitys fault. Tech stream is well known to be buggy until LTS (And even then is often a long time before stable)
New LTS is no better than tech stream, it takes 4-6 months to stabilize to a level that’s acceptable for our purposes. Tech stream isn’t even in consideration, it’s just not fit for anything but preproduction, maybe early production assuming .2 is considered and the next LTS is near release.
I recommend searching the forums (eg by typing site:forum.unity.com 2022 problems into Google) before you make the jump to a new major release. Everything I’ve read suggests that the 2022 releases are a buggy mess.
I hadn’t heard about this particular problem but then the last time I tried the built-in cloth system I was very much underwhelmed and decided to never touch it again. Instead I use and recommend Magica Cloth.
The original poster’s frustration with the bugs and issues in the latest version of Unity is understandable, especially when it is impacting their ability to work on a project they have been developing for a couple of years. While it is true that upgrading to a new major release can come with risks, it is important to consider the context in which the upgrade was made.
Developers are often under pressure to keep their projects up-to-date with the latest technology and features, particularly when it comes to external dependencies such as console SDKs. Failure to do so can result in compatibility issues and, in some cases, outright rejection from the platform holders. This means that developers are often forced to upgrade to new versions of game engines, such as Unity, in order to stay current with these dependencies.
Furthermore, it is worth noting that developers are paying for the service provided by Unity. This is not a free hobbyist tool, but rather a professional-grade engine that developers rely on to create games and other projects. As such, it is reasonable for them to expect a certain level of quality and support. While bugs are inevitable in any software development process, it is the responsibility of the engine provider to ensure that these issues are addressed in a timely and effective manner.
Finally, it is important to remember that for some people, game development is not just a hobby, but a profession. This means that delays and issues caused by bugs and other technical problems can have real-world consequences, including missed deadlines, lost revenue, and damage to their reputation. As such, it is critical that game engines like Unity prioritize bug fixing and quality control in order to provide the reliability and stability that professional developers require.
Nothing you mentioned negates the fact that perfoming a update on a live project is literally 101 of what not to do.
For example, yes it would be great if it was impossible for a pedestrian to get hit by cars and cities and governments should certainly try and make roads and walkways as safe as possible. That said, if somebody was walking on a safe path and then ran across a road suddenly without checking if cars were coming, where crossings are etc (basic due diligence and safety processes) - then if they got hit it is as much their fault for not following basic safety procedures as the cars they surprised by veering off into the road all of a sudden. The roads and walkways were not intended to be used that way.
The same is for this case. Unity have a lot on their plate and accounting for users not doing their due diligence is definitely not something they should be spending their time on.
So I get it OP, but its still ultimately your fault and you should use source control to reverse this or live with the consequences of an upgrade midway through development. Usually experiencing this pain is the way most of us learnt not to do exactly this. Most of us here are speaking from personal experience having done the same thing at some point in our careers.
This is a sound point but doesn’t 2021 LTS version support latest console SDKs and other platform specific dependencies? Or they are only supported by the 2022 version?
You can absolutely develop for latest console etc SDKS on 2021. There is absolutely no reason to go beyond LTS in a real project right now. Every game studio and non-games company I have worked with recently is on LTS, and for good reason. There is nothing “forcing” developers to update other than their own ideas and thoughts right now - the platforms currently have nothing that forces you to use anything beyond LTS.
Agreed, Ive been asking for this for a while. The current naming makes no sense and is out of touch with the software industry.
LTS also does not mean LTS here compared to anywhere else. LTS should go through much more stabilizing before it becomes LTS than currently, but I guess thats a topic for another thread.
I just feel that they are focusing too much on adding new features instead of stability. Unity versions XXXX.1 and .2 should be labeled as alpha and beta at this point and the .3 versions clearly labeled as recommended. The current alpha and beta versions should be named as tech stacks.
This is the issue I have with Unity right now. Unity 2022.2. should be a lot more stable than 2022.1., but somehow there are function critical bugs still present in it that should’ve been easily detectable in the previous versions. The QA team (if they even have it) isn’t pulling its weight, because all of these issues we’ve encountered within the week we made the update.
To conclude, I was left disappointed by the overall performance and stability of the latest “stable” version and Unity really needs to reconsider its naming scheme considering the state of things lately.
They don’t call it “stable”, it’s Tech Stream. Unity officially recommend using LTS for production since LTS became a thing. None of this is new or a surprise.
That’s reassuring to me that still use 2020 LTS to avoid some of the issues discussed here
However there are some new features in latest LTS that could be useful and possible bug fixes. How is the stability of the 2021 LTS compared to previous versions? Have you switched to it?
It crashes a lot for me, but I think it has to do with the Apple Silicon version. Other than that it’s okay. There are some issues that annoy me to no end, but they backported those bugs to 2020 LTS too, so it doesn’t have that advantage over 2021 anymore.
My latest work project is on Unity 2021.3.15 using the code base of the previous project but with URP instead of HDRP, and the stability issues I’ve had have been trying to close the editor. Half of the time it will crash. I’ve never lost anything because everything else including saves works just fine. It just doesn’t like closing properly for me.
I’m starting to think I’m one of the only developers on these forums that has had a crash free experience with Apple Silicon. I’m on an M1 w/ 16GB RAM and zero crashes. I’m able to do perform tasks both inside the editor and in bash scripts without any trouble. Creating builds for Windows, macOS, and iOS.