mcpField
U
unity-ecs-patterns

unity-ecs-patterns

github.com/wshobsonDevelopment41.9k12.2k installsUpdated 2w ago
Repository

About unity-ecs-patterns

A skill covering production patterns for Unity DOTS, aimed at developers building high-performance games or managing large entity counts. It combines ECS concepts, Jobs and Burst guidance, and practical optimization advice.

Key features

  1. 01ECS and OOP pattern comparison
  2. 02Core DOTS concepts
  3. 03Parallelization with Jobs and Burst
  4. 04Structural changes and ECB practices
  5. 05Profiling and memory management guidance

Use cases

  1. 01Migrating OOP game code to ECS
  2. 02Processing large numbers of game entities
  3. 03Optimizing CPU-bound game logic

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/wshobson/agents --skill unity-ecs-patterns

After installing, type/unity-ecs-patternsin Claude Code to confirm it loaded.

Bundled filesreferences/details.md

Details

From the project README

Unity ECS Patterns

Production patterns for Unity's Data-Oriented Technology Stack (DOTS) including Entity Component System, Job System, and Burst Compiler.

When to Use This Skill

  • Building high-performance Unity games
  • Managing thousands of entities efficiently
  • Implementing data-oriented game systems
  • Optimizing CPU-bound game logic
  • Converting OOP game code to ECS
  • Using Jobs and Burst for parallelization

Core Concepts

1. ECS vs OOP
AspectTraditional OOPECS/DOTS
Data layoutObject-orientedData-oriented
MemoryScatteredContiguous
ProcessingPer-objectBatched
ScalingPoor with countLinear scaling
Best forComplex behaviorsMass simulation
2. DOTS Components
Entity: Lightweight ID (no data)
Component: Pure data (no behavior)
System: Logic that processes components
World: Container for entities
Archetype: Unique combination of components
Chunk: Memory block for same-archetype entities

Detailed patterns and worked examples

Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.

Best Practices

Do's
  • Use ISystem over SystemBase - Better performance
  • Burst compile everything - Massive speedup
  • Batch structural changes - Use ECB
  • Profile with Profiler - Identify bottlenecks
  • Use Aspects - Clean component grouping
Don'ts
  • Don't use managed types - Breaks Burst
  • Don't structural change in jobs - Use ECB
  • Don't over-architect - Start simple
  • Don't ignore chunk utilization - Group similar entities
  • Don't forget disposal - Native collections leak

Comments

Markdown supported