I want to raise the issue of “Reload Script Assemblies” popup again. It turns to really critical one.
In my case, almost clean (1 script) project popups up “Reload Script Assemblies” popup every time I enter Play mode. (attaching GIF)
Though there is a related thread devoted to discussion of increased compilation times “when changing one C# script”
I wish people would stop mentioning the Domain Reload skip function. It introduces so many bugs and breaking plugins that hard to indentify and out of the sudden you remember “wait, ive set this toggle someone in the forum told me about”
I ve spent hours figuring out why my physics went crazy but only on the second startup until i remembered i set those toggles to true
I haven’t found away to stop the rebuilding other than Domain Reload skip. Thanks for the warnings though, didn’t know skipping Domain Reload caused other issues.
If I modify scripts as suggested in the manual is that enough? Are there other unintended issues that arise?
It’s not very hard to work with if you understand what it does and why.
The big problem is if you’ve either got an old project with some gnarly coding practices that makes it hard to deal with, or if you’re importing a lot of code from the asset store and/or online tutorials that doesn’t support the feature.
I still don’t know a proper solution, but I noticed when you have one of your scripts open from the project in a code editor, if you get the ‘reloading script assemblies’ bar stuck, just save that script without any changes while that happens and playmode starts working. Worked every time so far but yeah, not a solution or anything.
Issues do occur when I open other people’s projects, be it demos or tutorials or otherwise.
I’ve not run into issues with Domain Reload Disabled in projects that I create, not even with assets/packages so far. This may be because I only use quality assets/packages, it’s rare for me to use an asset that hasn’t been updated in the past 12 months. Even so, it’s only a matter of checking for any “static” field and if there is such an instance, adding a
(Runtime)InitializeOnLoadMethod that sets the static fields to null or new(). I think I’ve had to do this maybe once or twice this year.
Given that this option saves me a lot of time when iterating, I always make sure it works. It also forces me to re-think whether I really need a static here.
I’m confused with this. Apart from this forum thread, Google results show only people complaining about having this Reload Script Assemblies loading “when they change a script” (which sounds fine to me).
Nobody ever mentions having it every single time they hit Play.
So is this a bug, a weird setting I activated somehow?
Yes but it also breaks everything relying on static variables being reset between sessions.
I’m 100% certain that this reloading was not there 1 year or 2 ago.
Plus, what’s the logic of reloading script assemblies when no script has been modified anyway??