
I’m not sure if this will help, but I noticed a change in compile times and behavior after introducing Play Mode tests into my Unity project.
When creating test scripts, Unity automatically creates an assembly definition, which seemed to increase compile times.
Additionally, Unity started compiling twice: once after any script changes and again after hitting the ‘Play’ button but before actually entering Play Mode.
However, after restarting both the Unity Editor and Rider, the compile times returned to normal.
It’s possible that restarting helped to resolve temporary issues related to script compilation and assembly definitions.
What is the situation of this isue? Are Unity people actively working on this or is this one of those things that will never get fixed? Because this is seriously affecting my workflow. It has become unbearable to do any work with Unity.
This find is very interesting, I will try this. Altough those secondary times still seem a bit high. I hope people at Unity sees this. But again who knows if they are genuinely working on it or not.
Is this being worked on? Why is no one from unity responding to this?
I have a fairly light project, but I did see a big improvement just by rebooting my computer. I usually put my computer into sleep mode and don’t reboot often, but since I started rebooting more often, domain loads are ~7 seconds instead of 30.
Unfortunately, this will NEVER be fixed. Starting with the 2022 version, they added a domain reload after every script change, which increased compilation time by 2-3 times. Each new version of Unity is a performance downgrade. That’s why 90% of the developers I talk to use older versions.
They didn’t “add a domain reload”, it was always there. Starting 2019 they added a loading bar to show the progress of the domain reload too, rather than simply locking up the editor.
The problem is that it takes longer and longer.
2026 January 1st, still an issue.
Honestly, this issue has just gotten worse over the years, not better. That said, many tricks / editor tweaks have been provided that ‘do’ help alleviate this nonsense, but theres no sure fire all in one wonder fix, and theres actually no way to prevent the (seemingly random) occurences that go into ‘extended duration’.
For eg: i have had auto refresh, do no reload domain, etc all configured for a few years now, and although it works wonders to reduce most of the idle time, randomly, the editor still goes into this mode when it feels like it, and as others have mentioned, the duration of which it stays in ‘reloading’ is just … absurd, for a lack of better words. Anywhere from 10 seconds , to several minutes. And from all i can tell, it really just is a random amount of time, completely unreleated to the actions you have taken in the editor.
Would be great if you didnt feel like 1/10th of your time within the editor was spent behind loading / compiling bars, but… i guess this is the price we pay for using HLAPI’s. Shrugs.
Super curious if this will ever become better (not to say “good”).
with the new CLR it might become more fine grained hopefully, but I still see a large problem in the re-serialization step of the whole scene that is active.
for me one of the most eye opening posts in that regard was this: How we cut down our Domain Reload from 25s → 6s : r/Unity3D
We got rid of most serializable data. Yep, that’s about it. We have quite a few lists that we generate on startup and marking them as NonSerialized was like 95% of our improvements .
but this is one of Unitys core strengths, the inspector and serialized fields and so on. So, not only the domain reload needs to be limited to what changed, but also the re-serialization.
maybe also the serialzation format could be exchanged with something faster? issue is basically all fast serialization formats are binary formats, which then has the issue of merging/diffing being nearly impossible (to understand).
There’s multiple reasons that I’m never far behind on hardware upgrades, and Unity’s sluggish reloads are one of them. I can’t imagine upgrading just one computer to a 12700K, and I have to wonder what else was out of date for them (eg SSDs). That said the absolute slowest that I’ve had to deal with for work was at most 10 seconds on a 5950X which has weaker single core than the Intel CPU. I’ve since migrated to a 9700X (my workflow is almost entirely single threaded these days).
Let me document/share my last case here:
a week ago or so I had the "endless Reloading Domain " issue.
Somehow (deleting Library, and adjusting some settings) I managed to make it work.
Alll was good…
Then … silly me … added Unity Version Control package to the project.
Then it become worse then before… endless loading. No issues in the logs.
I feel that my project has been killed.
Considering to abandon the projects, and the world of Unity, too.
After switching from Visual Studio to Visual Studio Code, “Reload domain” when compiling seems to me much faster.
The “Endless Reload Domain” is less frequent (if not gone)
and The Unity Editor does not crash anymore.
For entering playmode we have this Solution:
We have a separate play button which switches to an empty scene with only a script that opens our main scene on it. And after playmode end it switches pack to the scene that was open in the editor befor the playmode.
I was getting 8+ minutes one of my projects. Even it’s a 2D project, lightweight, which was really strange.
After that, I find out there is a Hot Reload plugin. It solved my issue, thankfully.
