Skip to content

Latest commit

 

History

History
80 lines (62 loc) · 6.47 KB

File metadata and controls

80 lines (62 loc) · 6.47 KB

Unity Data-Oriented Tech Stack Cheat Sheet

Here is a quick reference of the most useful classes, interfaces, structs, and attributes that have been introduced in this documentation by ECS, the C# Job System, and the Burst compiler.

Note: This is not an exhaustive list and can be added to over time as the Unity Data-Oriented Tech Stack, and its related documentation, expands. Check the repository code and the Scripting API under the namespaces mentioned below for more examples. Be aware that links can break as the code evolves, so if you notice a problem let us know in the forums or as an issue in the repository.

ECS related

Name Path Type
CopyInitialTransformFromGameObjectComponent /Packages/com.unity.entities/Unity.Transforms.Hybrid/CopyInitialTransformFromGameObjectComponent.cs Class
Chunk /Packages/com.unity.entities/Unity.Entities/ArchetypeManager.cs Unsafe Struct
ComponentDataArray /Packages/com.unity.entities/Unity.Entities/Iterators/ComponentDataArray.cs Unsafe Struct
ComponentDataFromEntity /Packages/com.unity.entities/Unity.Entities/Iterators/ComponentDataFromEntity.cs Unsafe Struct
ComponentGroup /Packages/com.unity.entities/Unity.Entities/Iterators/ComponentGroup.cs Unsafe Class
ComponentSystem /Packages/com.unity.entities/Unity.Entities/ComponentSystem.cs Abstract Class
ComponentType /Packages/com.unity.entities/Unity.Entities/Types/ComponentType.cs Struct
DynamicBuffer /Packages/com.unity.entities/Unity.Entities/Iterators/DynamicBuffer.cs Unsafe Struct
Entity /Packages/com.unity.entities/Unity.Entities/EntityManager.cs Struct
EntityArchetype /Packages/com.unity.entities/Unity.Entities/EntityManager.cs Unsafe Struct
EntityCommandBuffer /Packages/com.unity.entities/Unity.Entities/EntityCommandBuffer.cs Unsafe Struct
EntityManager /Packages/com.unity.entities/Unity.Entities/EntityManager.cs Unsafe Class
ExclusiveEntityTransaction /Packages/com.unity.entities/Unity.Entities/ExclusiveEntityTransaction.cs Unsafe Struct
GameObjectEntity /Packages/com.unity.entities/Unity.Entities.Hybrid/GameObjectEntity.cs Class
IComponentData /Packages/com.unity.entities/Unity.Entities/IComponentData.cs Interface
IJobParallelForBatch /Packages/com.unity.jobs/Unity.Jobs/IJobParallelForBatch.cs) Interface
IJobParallelForFilter /Packages/com.unity.jobs/Unity.Jobs/IJobParallelForFilter.cs Interface
IJobProcessComponentData /Packages/com.unity.entities/Unity.Entities/IJobProcessComponentData.cs Interface
ISharedComponentData /Packages/com.unity.entities/Unity.Entities/IComponentData.cs Interface
JobComponentSystem /Packages/com.unity.entities/Unity.Entities/ComponentSystem.cs Abstract Class
MeshInstanceRendererComponent /Packages/com.unity.entities/Unity.Rendering.Hybrid/MeshInstanceRendererComponent.cs Class
NativeHashMap /Packages/com.unity.collections/Unity.Collections/NativeHashMap.cs Unsafe Struct
NativeList /Packages/com.unity.collections/Unity.Collections/NativeList.cs Unsafe Struct
NativeQueue /Packages/com.unity.collections/Unity.Collections/NativeQueue.cs Unsafe Struct
PositionComponent /Packages/com.unity.entities/Unity.Transforms/PositionComponent.cs Class
TransformSystem /Packages/com.unity.entities/Unity.Transforms/TransformSystem.cs Class
World /Packages/com.unity.entities/Unity.Entities/Injection/World.cs Class

Attributes

  • [Inject]

Unsafe attributes

Other

  • #if ENABLE_UNITY_COLLECTIONS_CHECKS ... #endif

C# Job System related

Note: ECS code can also use the following objects, but they are part of the Unity codebase since 2018.1 and not part of any related packages. For more information, see the C# Job System manual.

Namespace Name Type
Unity.Collections NativeArray Struct
Unity.Collections NativeContainer Unsafe Class
Unity.Collections NativeSlice Struct
Unity.Jobs IJob Interface
Unity.Jobs IJobParallelFor Interface
Unity.Jobs JobHandle Interface
Unity.Jobs JobsUtility Unsafe Class

Attributes

Burst compiler related

Attributes