Hey,
I’m just getting back into ECS and haven’t really kept up with the API changes for the past year or so.
What are the best practices and/or calls needed to have a certain number of MonoBehaviours reliably execute before a group of systems?
Do I just manually call them still, or are there any new standards?
Call them manually using a SystemBase class then align it using UpdateBefore, UpdateAfter, or UpdateInGroup headers.
If you can, try to convert the monobehavior methods to a SystemBase class. In my experience, most cases can be easily converted by just changing Update() to OnUpdate(). A SystemBase doesnt even need to have any Entities or Jobs, it can easily just be pure mono elements.
Default system ordering hasn’t changed relative to the playerloop. MonoBehaviours still update before the SimulationSystemGroup updates. There’s new API in ScriptBehaviourUpdateOrder that lets you position any system anywhere in the playerloop. Be careful though, as the playmode and build playerloops are different. So you can also update systems after LateUpdate or even after rendering.