Hi there!
In the company we are using 2018.4 for our productive products and prototypes and I’m planning a migration to the next Unity version.
I’ve tested one of our products in Unity 2020.1 and after fixing some issues it works.
My question is would it be safe to migrate to Unity 2020.1? or it’s better to go to 2019.4? Remembering that we have productive games and I would like not to limit them with any issue.
Question is, do you need migrate your current projects?
Unless you making mobile games?
You best and safest bet, is to stay with LTS versions.
Saying that, I generały don’t have issues with Unity betas.
But that depending, which features you are after.
Something is always likely to change.
Potential editor regressions. Different physics behaviour. Experienced by many in past.
Or simply as you noticed, something breaks.
We are 100% mobile, android & iOS. The thing is that changing Unity version in a company is not so easy since we have several projects, plugins, continuous integration and more stuff that we need to modify and test.
So my question is to understand which would be stable. I was thinking that perhaps jumping directly to 2020 could be better or if it’s better 2019 LTS.
About features, we are on mobile mostly using canvas but a lot of features for profiling/debugging would be very useful, but the more features we can get the better, but first is stability.
So I would like to understand why 2020.1 would not be as stable as 2019.4 LTS
You mentioned that your company is slow to migrate to a new release, but does your company upgrade within the release itself (eg upgrading from 2018.4.1 to 2018.4.2) or do you just pick a release and stay there for the entire duration of your time with that major release?
If you just pick a release and never update within it then the 2020.1 TECH release may be perfectly fine, but if you intend to update within the release then the LTS is the smarter choice as it will receive updates for a very long time while 2020.1 is almost at the point it’s no longer receiving updates.
It’s not that it won’t be stable but that it has a higher chance of having undiscovered problems thanks to being for all intents and purposes a beta release, and worst case if you do run into a problem down the road the release will have only received updates until the next beta release making it very unlikely to have been fixed in 2020.1.
My recommendation is to only choose the non-LTS releases if you are comfortable with the idea of migrating to the next release as soon as it’s available if you need it for a bug fix. For the company I’m currently with our milestones are roughly the same length as a non-LTS release so we can move with only a little time spent.
Unless there was a specific feature or improvement you need from 2020.1, I would either stay where the projects currently are or jump LTS to LTS. So in this case 2019.4.x. When upgrading Unity versions you should do a full regression QA pass on the project. You almost always will find something misbehaving you will need to address.
deltaTime is finaly fixed in 2020.2 so everyone needs to move to 2020
edit: btw, I do not agree with the notion of only upgrade if needed. The day you need it, like my example with deltaTime it will be a major pain. Better to always have a migration branch so you know the effort.