So you just shaved off 2ms off your game logic by spending few days optimizing your game’s logic?
So you wanted to have of your super smart ai updating every frame using monoBehaviours, but frames tanked after you spawned 20 ais?
So you finally managed to run 30% of your procedural content generation multithreaded?
So is this a shameless ad for upcoming solution?
So you have your super low-level optimized logic using frameworks and lot of systems, but you feel like you’ve written your own engine?
So you’re using ECS and miss Monobehaviours simplicity and object-oriented code design?
Those are the problems. Those are the questions we need to ask.

All those problems can be solved with changing the way you thinking of writing code.
Unity accustomed/forced us so much to writing single threaded code, that for many people
theading is like some kind of dark magic, so it’s better not to touch it or that
it should be used only for heavy math like mesh manipulation etc(that’s baloney)
So the idea is simple - to reverse this way of thinking - so I could write my code on my own thread
by “default” and only when NECESSARY delegate Unity api calls to it’s thread.
Decouple logic from rendering, but not in coding context, but in threads context.
Your logic frequency shouldn’t be dependent on game framerate.
This way you have full control over frequency of events, and you ‘pay’ nothing on main thread
because you use it only for stricte Unity stuff like GetComponent and stuff(which you shouldn’t do
a lot anyway).
But hey, it looks like someone from first world have serious problem with such approach, let’s listen

What do you think? ![]()
TBC…
