Crazy this came up. My project recently got super slow and I was going back through commits to see what code change I made that made Domain Reloading go from 1-2 seconds to 1 minute for a single line code change. Apparently I got sloppy with serializing a lot of properties on my data model classes and some of them had circular references, so once I went in and started reducing what I needed to actually serialize I got my speed back. But man those 1 min reload times were unbearable.
@Mrversatility1 i wonder how often it's situations like this people are running into. I'm always afraid to do anything tricky in ionvalidate nowdays (because ove run into similar issues before)
Would have loved to also see opening an already created project (i.e. subsequent loads of your first case). Fascinating to see 2020 is so good, I think that more or less matches my guess based on feeling having used them all.
Super cool comparison, kudos for the hard work on putting this out :) Important to point out though, that disabling window defender on project files helps a lot.
I think there are 2 aspects to performance on a game engine like unity. 1. Performance of the editor, like importing assets, opening big projects, compiling shades, going into play mode with a simple and complex demo.. Etc 2. Performance of the runtime/player it would be interesting to see the same project compiled in different versions overtime, and see how they have improved the runtime. Because if the performance of the runtime has decreased and become worst over time then why are they even charging for it if it's not to improve it?
Please make more such tests, including switching scenes, opening a non-empty project (min. 20GB of assets and 200+ scripts, 10+ packages installed, such as new input system, cinemachine, ..), recompile/reload time in a non-empty project, enter play mode time (with fast play mode options enabled, if available in the version) and maybe .. build times (building .exe).
And how will you compare that? What project is compatible with all Unity versions with so many API changes. Meet verisions would need to fix those issues giving old ones a boost or yours need to do a silly amount of ifdef operators.
@@zORg_alex Quite some assets are compatible with a wide variety of unity-versions. And those assets contain scripts. So one would have to find and download such assets, plus some 3D / Texture assets to boost the file size, add the packages and that's the project. No custom code or anythings, just setup & testing.
How often do you import huge packages or even open the Editor? Once a day? What really matters is how long does it take after you changed one line of code in your script (and saved it), until you can finally use the Editor again.
That was really interesting, didn't expect Unity 2020 to be on the front. I think for many people it's also important how fast the recompilation time is after code changes, or iteration time between making a change and entering playmode. I read in the forums that apparently compilation time in older Unity versions for small projects is faster because those versions just have less code to deal with, but that newer versions scale better once the project gets big. Not sure if this is true. In terms of iteration speed though, aside from disabling domain reloading (which isn't a problem if you're mindful of how you handle your static state) I was told that it is also really helpful to make your frequent changes in really small scenes for testing and later integrate that in your big/actual scenes, so when you enter play mode, Unity needs to copy less components/state. While you could also disable Scene Reloading in the Configurable Enter Play Mode settings, that one has side effects that are more difficult to handle. And lastly, for faster recompilation speeds, Assembly Definitions are also worth considering.
i’ve tried Unity3 a few months ago just for fun (my first unity version was 5) The game compiled before I got to switch the tab to the editor after saving the script and I was surprised that most of the features were present. Shaders, scriptable objects, networking, you pretty much get a minimalist instant-compiling engine. But I still could make a fully fledged mmorpg in it. The project boot time was a few seconds btw. Loved the vibes that I got using it
I didn't think it's a huge deal until I saw Unreal Engine 5 create and open a fresh project in under 60 seconds on my laptop (Unity 6 took like 3 minutes on the same specs).
On my end 2019.2 with the v1 database is by far the fastest (running on a high end pc). Then it’s quite good up to 2020.1.17f1. There’s a huge regression until 2021.3.6f1. 2022+ loading times are huge due to domain reload. It’s an absolute pain in the ass…
I have had similar loading times as you describe here. I got it down under 30 sec from well over 3 min by excluding the project folder and the editor from Windows Defender. (Using Unity 2022 3.44.f1)
I think it is more important to have quick iteration times once everything is loaded, so a lost minute can be tolerated per working session. Personally, most important thing is that the final runtime performance of the game isn't getting slower.
This is a fantastic test and I'd love to see something similar (if it doesn't already exist) with the performance of a small build of a test scene with each version.
For me and some others I know, Unity 5 just refuses to open through the hub, so we have to open it the old school way. Hope that helps if you decide to do more of these.
I prefer C# and it's better supported in Unity but I still went with Godot because while testing both over a week, I've saved SO MUCH time and frustration while iterating and the other differences were nowhere near as impactful (2D game) as Godot being super fast and Unity just being ridiculously slow.
This is the reason why I don't use Unity anymore, I cannot tolerate these loading times, to me it feels boring to iterate specially with the recompiling times
Recently I realized that for game performance it might be a good idea to bind fields in inspector where possible, rather than doing it in Awake with GetComponent. Haven't profiled this, but in theory should bring better initialization of game and objects. What's your opinion?
The issue I keep seeing is with 2018 and 2019 and I think 2020. Also had this issue where everything runs nice and fine for a long period of time but once your project gets to a certain size just going into test mode takes longer and longer and longer. To the point where it hangs.
To judge performance only on these two tests does not say much about overall performance. Compile time and overall editor performance is much more important for example. You start the editor maybe once per day.
Project making doesn't matter; the most and the only important thing is compiling all assets after changing code and importing assets. Unity 2022 is pretty damn slow in that; I love 2020 as it is the fastest; need to check Unity 6 when it's released 👍
good gawd, yes this should be permanently on the top 5 things to triple check before rolling out any update to the Engine. Consider the compile times added up throughout the year, then multiply that by the userbase. Rough estimate would be 68.75hours/year just compiling, per user.
Now that I use Hot Reload, I can iterate while avoiding many recompilation delays. But there are just way too many blocking windows when there is a reload that doesn't actually need to block the editor entirely. Preventing me from configuring the scene in ways that have nothing to do with the compilation step is not a good user experience.
It is better to rule out unstable web requests time from package manager, authorization, etc.! I noticed a big improvement in startup time when I disconnected from wifi (knowing the package cache was up to date)
Now this is actually useful data. With so many versions, and now with 3 pipelines (built-in, URP, HDRP), I really want to know which can save me time. Also, yes editor performance is highest priority especially since the Unity editor - at least for me, on big projects, very frequently runs into issues, memory overflows/leaks, errors, unresponsiveness, and just outright crashes.
2022, probably the most used version right now is the slowest. I'm not surprised and won't be surprised if if will ever be revealed to be so by design.
Thanks for this experiment, could you share the specs of your hardware that Unity is running on? And are both the projects and Unity Editor on the same drive?
I9, 128gb, 4tb 990ssd. Fresh reboot with just 1 unity instance running at a time and camtasia to record the clips. All projects were default empty ones in the same c:/projects folder (then later with the asset pack added)
definitely IMPORTANT in capital letters. It's your time as well as your employer's time that's being wasted. But is this a fair comparison? did you enable the parallel import option? did the different versions had *focus* when they were loading? I know Windows treats apps differently depending on their focus. Because I remember Unity 2022 and Unity 6 had a lot of importing improvement promises
After I make a build, I have to click back to Unity which kicks off yet another reload. Why not immediately trigger that reload when the build is completed? Just another avoidable long wait.
the main thing that made me switch from unity to godot was actually the speed. everything happens in a few seconds, including opening and building. not to mention you can make code changes while the game is running. dev experience is a big deal!
I stopped the development of my 99% complete video game because the executable runs great on Mac but slows down incredibly when starting on Windows. I spent 2 years trying to solve the problem and in the end I gave up, it doesn't report any bugs to me. in the editor it runs smoothly but the steam build on windows loads terribly slowly and tends to crash while on mac it runs fine. How do you define an engine that presents these anomalies as multi-platform? I tried all possible settings but nothing
If they stopped development on other new feature, called it Unity 7 and just fixed compile times, I'd pay that 2% to 4% to use it like jason storey mentioned in the previous video. I don't think anything else takes precedence.
Although it is a crazy how long we have to wait now for package loading, i think it is important to also look at rendering/computing performance (fps difference) inside unity. from my experience 2022.3 is about 10% faster than 2021.3. At least that was the case for my project. + the forward+ renderer is a welcome adittion in 2022. would a video that compares that performance on a heavy scene.
Not only unity 2020 is the fastest, its the most reliable. I use old android devices to test my game and how they perform. When i upgraded my unity version to 2021, the game instantly crashes. Same project, nothing changed. After searching the issue, the recommended option was to disable "enable frame pacing". Although the game did not crash on launch, the fps took a massive hit. Upgraded again to 2022, same issue. I thought I messed up the game project and started to reconsider finishing the game. Reverted back to 2020, everything worked fine.
Load times and editor performance are one of the reasons I prefer godot to unity. I hope they fix it one day. I hate when companies focus forward too much. They should look back and fix the core problems rather than focusing on new fancy features. It sucks when companies have so much money but focus on the wrong things.
2018 is fastest for me,also the anoying bar for compilation is not there which was great. workflow in unity is slow, and its one of reasons why I'm thinking of switching to Godot
yes . when you have an IDEA and because of the lag you lose it. I say it is crucial. the early time of Unity was like godot very fast because there were not many libraries to load to memory. the issue is if I can create what I need fast I don't care about all the new stuff.
i would say 2019 is the fastest... btw that is an old discussion on the forum 1:15 am i missing something? 2018 is clearly the fastest on that test but you said 2020... ? 4:00 i can see you didn't wait in unity 6 but you waited on 2021... again am i missing something? I thing these tests are unaccurate imo
@@Unity3dCollege I only clicked through, as mentioned. But it's weird, my loading times are way faster than yours. And my machine is a bit slower than yours (i9 12900K, Samsung 980, ...)
im not using unity anymore dude they update too much that shows you unity not a perfect game engine the update every week its annoying unreal and Godot don't update every fkn week less annoying
Yes, I think editor performance should be a priority for Unity going forward. It's pretty ridiculous.
The new version notes always say X% editor speed up. Yet, compiling and entering playmode feels slower than ever
Crazy this came up. My project recently got super slow and I was going back through commits to see what code change I made that made Domain Reloading go from 1-2 seconds to 1 minute for a single line code change. Apparently I got sloppy with serializing a lot of properties on my data model classes and some of them had circular references, so once I went in and started reducing what I needed to actually serialize I got my speed back. But man those 1 min reload times were unbearable.
@Mrversatility1 i wonder how often it's situations like this people are running into. I'm always afraid to do anything tricky in ionvalidate nowdays (because ove run into similar issues before)
Would have loved to also see opening an already created project (i.e. subsequent loads of your first case). Fascinating to see 2020 is so good, I think that more or less matches my guess based on feeling having used them all.
The one important benchmark to me is the "change on line of code and then play the game" one 💯
Super cool comparison, kudos for the hard work on putting this out :)
Important to point out though, that disabling window defender on project files helps a lot.
I think there are 2 aspects to performance on a game engine like unity.
1. Performance of the editor, like importing assets, opening big projects, compiling shades, going into play mode with a simple and complex demo.. Etc
2. Performance of the runtime/player it would be interesting to see the same project compiled in different versions overtime, and see how they have improved the runtime.
Because if the performance of the runtime has decreased and become worst over time then why are they even charging for it if it's not to improve it?
I like the way you laid out the results, well made video ☺
Please make more such tests, including switching scenes, opening a non-empty project (min. 20GB of assets and 200+ scripts, 10+ packages installed, such as new input system, cinemachine, ..), recompile/reload time in a non-empty project, enter play mode time (with fast play mode options enabled, if available in the version) and maybe .. build times (building .exe).
And how will you compare that? What project is compatible with all Unity versions with so many API changes. Meet verisions would need to fix those issues giving old ones a boost or yours need to do a silly amount of ifdef operators.
@@zORg_alex Quite some assets are compatible with a wide variety of unity-versions. And those assets contain scripts. So one would have to find and download such assets, plus some 3D / Texture assets to boost the file size, add the packages and that's the project.
No custom code or anythings, just setup & testing.
How often do you import huge packages or even open the Editor? Once a day? What really matters is how long does it take after you changed one line of code in your script (and saved it), until you can finally use the Editor again.
Yeah it's ridiculous, I would say when I'm constantly tweaking code, around half of my time is spent waiting for damn reloading.
Script compile comparison would be great! Very informative vid.
That was really interesting, didn't expect Unity 2020 to be on the front. I think for many people it's also important how fast the recompilation time is after code changes, or iteration time between making a change and entering playmode.
I read in the forums that apparently compilation time in older Unity versions for small projects is faster because those versions just have less code to deal with, but that newer versions scale better once the project gets big.
Not sure if this is true. In terms of iteration speed though, aside from disabling domain reloading (which isn't a problem if you're mindful of how you handle your static state) I was told that it is also really helpful to make your frequent changes in really small scenes for testing and later integrate that in your big/actual scenes, so when you enter play mode, Unity needs to copy less components/state. While you could also disable Scene Reloading in the Configurable Enter Play Mode settings, that one has side effects that are more difficult to handle.
And lastly, for faster recompilation speeds, Assembly Definitions are also worth considering.
i’ve tried Unity3 a few months ago just for fun (my first unity version was 5)
The game compiled before I got to switch the tab to the editor after saving the script and I was surprised that most of the features were present. Shaders, scriptable objects, networking, you pretty much get a minimalist instant-compiling engine. But I still could make a fully fledged mmorpg in it. The project boot time was a few seconds btw. Loved the vibes that I got using it
The good ol times 😂😂😂😂
I didn't think it's a huge deal until I saw Unreal Engine 5 create and open a fresh project in under 60 seconds on my laptop (Unity 6 took like 3 minutes on the same specs).
I have 5.6, 2019, 2021, 2022 and 6 on my desktop, and by far, 5.6 is the fastest... not only opening, but compiling and entering play mode.
Aye I'm finishing up a project in 5.6 and compared to any other version it's the smoothest to work with.
Yeah, may be faster compiling, but probably worse runtime performance.
On my end 2019.2 with the v1 database is by far the fastest (running on a high end pc). Then it’s quite good up to 2020.1.17f1. There’s a huge regression until 2021.3.6f1. 2022+ loading times are huge due to domain reload. It’s an absolute pain in the ass…
I have had similar loading times as you describe here.
I got it down under 30 sec from well over 3 min by excluding the project folder and the editor from Windows Defender.
(Using Unity 2022 3.44.f1)
i've been using unity 5.6 from 2019 and for me it is the fastest and works best.
I think it is more important to have quick iteration times once everything is loaded, so a lost minute can be tolerated per working session. Personally, most important thing is that the final runtime performance of the game isn't getting slower.
What about compile times?
This is a fantastic test and I'd love to see something similar (if it doesn't already exist) with the performance of a small build of a test scene with each version.
For me and some others I know, Unity 5 just refuses to open through the hub, so we have to open it the old school way. Hope that helps if you decide to do more of these.
I prefer C# and it's better supported in Unity but I still went with Godot because while testing both over a week, I've saved SO MUCH time and frustration while iterating and the other differences were nowhere near as impactful (2D game) as Godot being super fast and Unity just being ridiculously slow.
There have been tons of improvements and great features added but unity 4.x ran editor ran so much faster for me in general than modern unity
This is the reason why I don't use Unity anymore, I cannot tolerate these loading times, to me it feels boring to iterate specially with the recompiling times
Get a m2 drive. Must have
Recently I realized that for game performance it might be a good idea to bind fields in inspector where possible, rather than doing it in Awake with GetComponent. Haven't profiled this, but in theory should bring better initialization of game and objects. What's your opinion?
The issue I keep seeing is with 2018 and 2019 and I think 2020. Also had this issue where everything runs nice and fine for a long period of time but once your project gets to a certain size just going into test mode takes longer and longer and longer. To the point where it hangs.
I can see why you left out 5.6 it's massively faster loading than any version after
To judge performance only on these two tests does not say much about overall performance. Compile time and overall editor performance is much more important for example. You start the editor maybe once per day.
Which Unity (EDITOR) is Fastest? I think is the best title..... =)
Project making doesn't matter; the most and the only important thing is compiling all assets after changing code and importing assets. Unity 2022 is pretty damn slow in that; I love 2020 as it is the fastest; need to check Unity 6 when it's released 👍
The required bench marks are Compiling, and entering play mode.
I've noticed this for years, I load OLD projects in unity 5.6 and it loads in,in seconds
good gawd, yes this should be permanently on the top 5 things to triple check before rolling out any update to the Engine. Consider the compile times added up throughout the year, then multiply that by the userbase. Rough estimate would be 68.75hours/year just compiling, per user.
Now that I use Hot Reload, I can iterate while avoiding many recompilation delays. But there are just way too many blocking windows when there is a reload that doesn't actually need to block the editor entirely. Preventing me from configuring the scene in ways that have nothing to do with the compilation step is not a good user experience.
Very cool video!
It is better to rule out unstable web requests time from package manager, authorization, etc.! I noticed a big improvement in startup time when I disconnected from wifi (knowing the package cache was up to date)
Now this is actually useful data. With so many versions, and now with 3 pipelines (built-in, URP, HDRP), I really want to know which can save me time. Also, yes editor performance is highest priority especially since the Unity editor - at least for me, on big projects, very frequently runs into issues, memory overflows/leaks, errors, unresponsiveness, and just outright crashes.
I think runtime performance is always more important. But offcourse quality of life for devs are important too.
2022, probably the most used version right now is the slowest. I'm not surprised and won't be surprised if if will ever be revealed to be so by design.
Thanks for this experiment, could you share the specs of your hardware that Unity is running on? And are both the projects and Unity Editor on the same drive?
I9, 128gb, 4tb 990ssd. Fresh reboot with just 1 unity instance running at a time and camtasia to record the clips. All projects were default empty ones in the same c:/projects folder (then later with the asset pack added)
definitely IMPORTANT in capital letters. It's your time as well as your employer's time that's being wasted. But is this a fair comparison? did you enable the parallel import option? did the different versions had *focus* when they were loading? I know Windows treats apps differently depending on their focus. Because I remember Unity 2022 and Unity 6 had a lot of importing improvement promises
They should improve Unity Hub as well. Just a list of projects gets slow to load due to licensing checks.
After I make a build, I have to click back to Unity which kicks off yet another reload. Why not immediately trigger that reload when the build is completed? Just another avoidable long wait.
the main thing that made me switch from unity to godot was actually the speed. everything happens in a few seconds, including opening and building. not to mention you can make code changes while the game is running. dev experience is a big deal!
I stopped the development of my 99% complete video game because the executable runs great on Mac but slows down incredibly when starting on Windows. I spent 2 years trying to solve the problem and in the end I gave up, it doesn't report any bugs to me. in the editor it runs smoothly but the steam build on windows loads terribly slowly and tends to crash while on mac it runs fine.
How do you define an engine that presents these anomalies as multi-platform? I tried all possible settings but nothing
did u enabled parallel import option in unity 6 and other optimizations
If they stopped development on other new feature, called it Unity 7 and just fixed compile times, I'd pay that 2% to 4% to use it like jason storey mentioned in the previous video. I don't think anything else takes precedence.
Importing or starting is just one time. Compiling time is more important for me.
Although it is a crazy how long we have to wait now for package loading, i think it is important to also look at rendering/computing performance (fps difference) inside unity. from my experience 2022.3 is about 10% faster than 2021.3. At least that was the case for my project. + the forward+ renderer is a welcome adittion in 2022. would a video that compares that performance on a heavy scene.
Not only unity 2020 is the fastest, its the most reliable. I use old android devices to test my game and how they perform. When i upgraded my unity version to 2021, the game instantly crashes. Same project, nothing changed. After searching the issue, the recommended option was to disable "enable frame pacing". Although the game did not crash on launch, the fps took a massive hit. Upgraded again to 2022, same issue. I thought I messed up the game project and started to reconsider finishing the game. Reverted back to 2020, everything worked fine.
Btw did you just wait to click confirm to 2017's question?
Load times and editor performance are one of the reasons I prefer godot to unity. I hope they fix it one day. I hate when companies focus forward too much. They should look back and fix the core problems rather than focusing on new fancy features. It sucks when companies have so much money but focus on the wrong things.
0:39 2023 lts is my gess
If I could dev a game in the time lost from waiting on unity... I'd have at least 1 game finished.
Interesting! I thought Unity 6 woulda been the fastest. It seems pretty darn fast to me!
Godot Faster
How much time does your project need to get into runtime mode? I'm definitely the slowest at 140 seconds.
And adding code and more assets its just multiplicative
If i can get android compiler to work on 2020 thatd be so great
2018 is fastest for me,also the anoying bar for compilation is not there which was great.
workflow in unity is slow, and its one of reasons why I'm thinking of switching to Godot
yes . when you have an IDEA and because of the lag you lose it. I say it is crucial. the early time of Unity was like godot very fast because there were not many libraries to load to memory. the issue is if I can create what I need fast I don't care about all the new stuff.
looks pretty random, i never cared about these time only on how stable the editor runns. and they all run stable.
i would say 2019 is the fastest... btw that is an old discussion on the forum
1:15 am i missing something? 2018 is clearly the fastest on that test but you said 2020... ?
4:00 i can see you didn't wait in unity 6 but you waited on 2021... again am i missing something?
I thing these tests are unaccurate imo
What happened to 2023?
Jason I thought you were going neck to tutorials m8?
I couldnt find your specs clicking through the video, did I miss something? Pretty pointless without your specs.
@playersAvatar thought I mentioned in the video, but it's a newer i9, 128g ram and a Samsung 990
@@Unity3dCollege I only clicked through, as mentioned. But it's weird, my loading times are way faster than yours. And my machine is a bit slower than yours (i9 12900K, Samsung 980, ...)
The Unity Performance is for me not so important. The performance of the games we develop, in other words the outcome is the most important thing.
Yap, I am still on 2020 until I will not be forced to upgrade, like they did with 2018
Aright! im returning to 2020 untill something force me out of that...
i think 2019 or 2020
im not using unity anymore dude they update too much that shows you unity not a perfect game engine the update every week its annoying unreal and Godot don't update every fkn week less annoying
You're not forced to update 😅
Unity 6 is faster than both 2021 and 2022 LTS, 2020 LTS is also fast
Unreal is gonna be faster than Unity
This is a sin