I noticed that not everyone who is using Entities for all simulation code in the game is also enabling fast enter play mode on their projects.
You are wasting valuable time! Fortunately it’s straightforward to fix.
For reference: Enter Playmode on DOTS shooter is ~500ms… And you can have the same on your project today. Without the fast playmode enabled it takes around 5-10 seconds.
Fast enter play-mode in Unity is not the default because most projects are game object based and game object based projects have a tendency to use tons of static variables for state. And doing that by default makes it so that a domain reload is required to reset all the static state before entering playmode.
By design, everything we do in DOTS avoids this pattern. Multiple worlds, per world singletons etc.
They exist so that it becomes trivial to turn on the faster enter play mode option.
This is the recommended setting in a DOTS based project:
If you are making a DOTS based project where all or most simulation code is written with entities or if you simply have no static variables in your project you rely on for persistent state, then you should enable it. I recommend doing this as the first thing when starting a project, so that you force yourself to not create any global static state at any point.
In the future, we have more functionality coming that further improves iteration speed on top of this. But it all requires turning this option on first.