Method CreateCommandBuffer
CreateCommandBuffer()
Creates an EntityCommandBuffer and adds it to this system's list of command buffers.
Declaration
public EntityCommandBuffer CreateCommandBuffer()
Returns
| Type | Description |
|---|---|
| EntityCommandBuffer | A command buffer that will be executed by this system. |
Remarks
This buffer system executes its list of command buffers during its OnUpdate() function in the order you created the command buffers.
This method requires a managed reference to the buffer system. To create a command buffer from unmanaged systems
code, get the buffer system's Singleton component with GetSingleton<T>() and call
CreateCommandBuffer(WorldUnmanaged) on that singleton instead.
If you write to a command buffer created by this method in a job, you must add the
job as a dependency of this system by calling AddJobHandleForProducer(JobHandle). The dependency ensures
that the buffer system waits for the job to complete before executing the command buffer. This step isn't
necessary for command buffers created through the buffer system's Singleton component, because the buffer
system completes all jobs scheduled against that singleton component before it plays the command buffer back.
If you write to a command buffer from a parallel Job, such as IJobEntity or IJobChunk, you must use the concurrent version of the command buffer, provided by EntityCommandBuffer.ParallelWriter.
CreateCommandBuffer(ref UnsafeList<EntityCommandBuffer>, AllocatorHandle, WorldUnmanaged)
Creates a command buffer, sets it up, and appends it to a list of command buffers.
Declaration
public static EntityCommandBuffer CreateCommandBuffer(ref UnsafeList<EntityCommandBuffer> pendingBuffers, AllocatorManager.AllocatorHandle allocator, WorldUnmanaged world)
Parameters
| Type | Name | Description |
|---|---|---|
| UnsafeList<EntityCommandBuffer> | pendingBuffers | The list of command buffers to append to |
| AllocatorManager.AllocatorHandle | allocator | The allocator to allocate from, when building the command buffer |
| WorldUnmanaged | world | The world that this command buffer buffers changes for |
Returns
| Type | Description |
|---|---|
| EntityCommandBuffer | Returns the command buffer |
CreateCommandBuffer(ref UnsafeList<EntityCommandBuffer>, WorldUnmanaged)
Creates a command buffer that allocates from a World's Update Allocator, sets it up, and appends it to a list of command buffers.
Declaration
public static EntityCommandBuffer CreateCommandBuffer(ref UnsafeList<EntityCommandBuffer> pendingBuffers, WorldUnmanaged world)
Parameters
| Type | Name | Description |
|---|---|---|
| UnsafeList<EntityCommandBuffer> | pendingBuffers | The list of command buffers to append to |
| WorldUnmanaged | world | The world that this command buffer buffers changes for |
Returns
| Type | Description |
|---|---|
| EntityCommandBuffer | Returns the command buffer |