Struct EntityCommandBuffer
A thread-safe command buffer that can buffer commands that affect entities and components for later playback.
Syntax
[NativeContainer]
[GenerateBurstMonoInterop("EntityCommandBuffer")]
public struct EntityCommandBuffer : IDisposable
Constructors
EntityCommandBuffer(Allocator)
Creates a new command buffer.
Declaration
public EntityCommandBuffer(Allocator label)
Parameters
Type |
Name |
Description |
Allocator |
label |
Memory allocator to use for chunks and data
|
EntityCommandBuffer(Allocator, PlaybackPolicy)
Creates a new command buffer.
Declaration
public EntityCommandBuffer(Allocator label, PlaybackPolicy playbackPolicy)
Parameters
Type |
Name |
Description |
Allocator |
label |
Memory allocator to use for chunks and data
|
PlaybackPolicy |
playbackPolicy |
Specifies if the EntityCommandBuffer can be played a single time or more than once.
|
Properties
IsCreated
Declaration
public bool IsCreated { get; }
Property Value
MinimumChunkSize
Allows controlling the size of chunks allocated from the temp job allocator to back the command buffer.
Declaration
public int MinimumChunkSize { get; set; }
Property Value
ShouldPlayback
Controls whether this command buffer should play back.
Declaration
public bool ShouldPlayback { get; set; }
Property Value
Methods
AddBuffer<T>(Entity)
Declaration
public DynamicBuffer<T> AddBuffer<T>(Entity e)
where T : struct, IBufferElementData
Parameters
Type |
Name |
Description |
Entity |
e |
|
Returns
Type Parameters
AddComponent(Entity, ComponentType)
Declaration
public void AddComponent(Entity e, ComponentType componentType)
Parameters
AddComponent(Entity, ComponentTypes)
Records a command to add one or more components to an entity.
Declaration
public void AddComponent(Entity e, ComponentTypes types)
Parameters
Type |
Name |
Description |
Entity |
e |
The entity to get additional components.
|
ComponentTypes |
types |
The types of components to add.
|
AddComponent(EntityQuery, ComponentType)
Declaration
public void AddComponent(EntityQuery entityQuery, ComponentType componentType)
Parameters
AddComponent(EntityQuery, ComponentTypes)
Records a command to add one or more components to all entities matching a query.
Declaration
public void AddComponent(EntityQuery entityQuery, ComponentTypes types)
Parameters
Type |
Name |
Description |
EntityQuery |
entityQuery |
The query specifying which entities get the added components.
|
ComponentTypes |
types |
The types of components to add.
|
AddComponent<T>(Entity)
Declaration
public void AddComponent<T>(Entity e)
where T : struct, IComponentData
Parameters
Type |
Name |
Description |
Entity |
e |
|
Type Parameters
AddComponent<T>(Entity, T)
Declaration
public void AddComponent<T>(Entity e, T component)
where T : struct, IComponentData
Parameters
Type |
Name |
Description |
Entity |
e |
|
T |
component |
|
Type Parameters
AddComponent<T>(EntityQuery)
Declaration
public void AddComponent<T>(EntityQuery entityQuery)
Parameters
Type Parameters
AddSharedComponent<T>(Entity, T)
Declaration
public void AddSharedComponent<T>(Entity e, T component)
where T : struct, ISharedComponentData
Parameters
Type |
Name |
Description |
Entity |
e |
|
T |
component |
|
Type Parameters
AddSharedComponent<T>(EntityQuery, T)
Declaration
public void AddSharedComponent<T>(EntityQuery entityQuery, T component)
where T : struct, ISharedComponentData
Parameters
Type |
Name |
Description |
EntityQuery |
entityQuery |
|
T |
component |
|
Type Parameters
AppendToBuffer<T>(Entity, T)
Appends a single element to the end of a dynamic buffer component.
Declaration
public void AppendToBuffer<T>(Entity e, T element)
where T : struct, IBufferElementData
Parameters
Type |
Name |
Description |
Entity |
e |
The entity to which the dynamic buffer belongs.
|
T |
element |
The new element to add to the DynamicBuffer<T> component.
|
Type Parameters
Remarks
Exceptions
Type |
Condition |
InvalidOperationException |
Thrown if the entity does not have a DynamicBuffer<T>
component storing elements of type T at the time the entity command buffer executes this append-to-buffer command.
|
AsParallelWriter()
Declaration
public EntityCommandBuffer.ParallelWriter AsParallelWriter()
Returns
CreateEntity(EntityArchetype)
Declaration
public Entity CreateEntity(EntityArchetype archetype = default(EntityArchetype))
Parameters
Returns
DestroyEntity(Entity)
Declaration
public void DestroyEntity(Entity e)
Parameters
Type |
Name |
Description |
Entity |
e |
|
DestroyEntity(EntityQuery)
Declaration
public void DestroyEntity(EntityQuery entityQuery)
Parameters
Dispose()
Declaration
Instantiate(Entity)
Declaration
public Entity Instantiate(Entity e)
Parameters
Type |
Name |
Description |
Entity |
e |
|
Returns
Playback(EntityManager)
Play back all recorded operations against an entity manager.
Declaration
public void Playback(EntityManager mgr)
Parameters
Type |
Name |
Description |
EntityManager |
mgr |
The entity manager that will receive the operations
|
Playback(ExclusiveEntityTransaction)
Declaration
public void Playback(ExclusiveEntityTransaction mgr)
Parameters
RemoveComponent(Entity, ComponentType)
Declaration
public void RemoveComponent(Entity e, ComponentType componentType)
Parameters
RemoveComponent(Entity, ComponentTypes)
Records a command to remove one or more components from an entity.
Declaration
public void RemoveComponent(Entity e, ComponentTypes componentTypes)
Parameters
RemoveComponent(EntityQuery, ComponentType)
Declaration
public void RemoveComponent(EntityQuery entityQuery, ComponentType componentType)
Parameters
RemoveComponent(EntityQuery, ComponentTypes)
Records a command to remove one or more components from all entities matching a query.
Declaration
public void RemoveComponent(EntityQuery q, ComponentTypes componentTypes)
Parameters
RemoveComponent<T>(Entity)
Declaration
public void RemoveComponent<T>(Entity e)
Parameters
Type |
Name |
Description |
Entity |
e |
|
Type Parameters
RemoveComponent<T>(EntityQuery)
Declaration
public void RemoveComponent<T>(EntityQuery entityQuery)
Parameters
Type Parameters
SetBuffer<T>(Entity)
Declaration
public DynamicBuffer<T> SetBuffer<T>(Entity e)
where T : struct, IBufferElementData
Parameters
Type |
Name |
Description |
Entity |
e |
|
Returns
Type Parameters
SetComponent<T>(Entity, T)
Declaration
public void SetComponent<T>(Entity e, T component)
where T : struct, IComponentData
Parameters
Type |
Name |
Description |
Entity |
e |
|
T |
component |
|
Type Parameters
SetSharedComponent<T>(Entity, T)
Declaration
public void SetSharedComponent<T>(Entity e, T component)
where T : struct, ISharedComponentData
Parameters
Type |
Name |
Description |
Entity |
e |
|
T |
component |
|
Type Parameters
Extension Methods
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.