Might be a silly question. Case: server gets initialized and creates ServerInitialized entity. Other systems require it for update. Is there any reason to create that entity in the end of frame ECB? I kinda like the idea of creating all entities in one sync point as long as one frame delay is not a problem, but is there any benefit to it in simple cases like that?
Is the only benefit of ECB in not stalling any jobs that read or write the same components?
ECB playback is burst-compiled. For non-frequent or single-entity initialization code, ecb is not really necessary, just put the initialization system right before or after a barrier and just use EntityManager. Profiling your own code/setup will identify sync point issues.