Unity ECS Skill
SkillMediaUnity DOTS/ECS skill for data-oriented design, jobs system, burst compiler optimization, and high-performance gameplay systems.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Unity ECS Skill skill
What this skill tells your AI
The instructions your AI receives, as published by a5c-ai/babysitter in library/specializations/game-development/skills/unity-ecs/SKILL.md and read by ahel’s review.
Data-Oriented Technology Stack (DOTS) and Entity Component System development for Unity.
Overview
This skill provides capabilities for implementing high-performance gameplay systems using Unity's Entity Component System, Jobs System, and Burst compiler.
Capabilities
Entity Component System
- Create IComponentData structs
- Implement ISystem and SystemBase
- Manage entity archetypes
- Handle entity queries and batching
Jobs System
- Create IJob implementations
- Implement IJobEntity for entity processing
- Handle job dependencies and scheduling
- Manage native containers
Burst Compiler
- Enable Burst compilation for jobs
- Optimize with SIMD instructions
- Profile Burst-compiled code
- Handle Burst limitations
Hybrid Workflow
- Bridge ECS with GameObjects
- Use companion components
- Convert existing systems to ECS
- Implement baking workflow
Prerequisites
- Unity 2022.3+ recommended
- Entities package (1.0+)
- Mathematics package
- Burst package
Usage Patterns
Component Data
public struct MoveSpeed : IComponentData
{
public float Value;
}
public struct Velocity : IComponentData
{
public float3 Value;
}
System Implementation
[BurstCompile]
public partial struct MovementSystem : ISystem
{
[BurstCompile]
public void OnUpdate(ref SystemState state)
{
float deltaTime = SystemAPI.Time.DeltaTime;
foreach (var (transform, velocity) in
SystemAPI.Query<RefRW<LocalTransform>, RefRO<Velocity>>())
{
transform.ValueRW.Position += velocity.ValueRO.Value * deltaTime;
}
}
}
Job Example
[BurstCompile]
public partial struct MovementJob : IJobEntity
{
public float DeltaTime;
void Execute(ref LocalTransform transform, in Velocity velocity)
{
transform.Position += velocity.Value * DeltaTime;
}
}
Best Practices
- Keep components small and focused
- Use Burst for all performance-critical jobs
- Batch entity operations
- Minimize structural changes
- Profile with Entity Debugger
References
Signals
- GitHub stars
- 2k
- Forks
- 112
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
unity-ecs- Source
- github.com/a5c-ai/babysitter