Does Creating an EntityCommandBuffer Create a new SynchPoint?

If that’s the case, does that mean for every system I have that needs to send commands to the EntityManager I will be creating a new Synch point?

I’m asking because I’m upgrading some of my code to use SystemBase rather than the soon to be depreciated ComponentSystem Class and I lost references to an ECB.

AFAIK, your understanding is correct. The sync point is the existing system (eg EndSimulationGroupEntityCommanfBufferSystem). You can also create an ECB yourself and Playback, and that would be a sync point.

1 Like

Sorry, this is probably in response to my deleted post, not the OP.
I deleted it because it referenced PostUpdateCommands which I guess doesn’t exist in SystemBase

Answering directly the OP just for accuracy: no, creating an EntityCommandBuffer doesn’t create a sync point, it will only create a sync point when/if you playback the created EntityCommandBuffer.

This is why this is recommended to use one of the existing EntityCommandBufferSystem to create and schedule command buffer playbacks when you want to avoid extra sync points.

4 Likes