Receber por email
← Voltar para o catálogo

unity-ecs

Habilidade em Unity DOTS/ECS para design orientado a dados, sistema de jobs, otimização com burst compiler e sistemas de gameplay de alta performance.

1.4kestrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add a5c-ai/babysitter

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/unity-ecs/svg)](https://www.skillteca.com.br/skills/unity-ecs)

Skills relacionadas

Ver todas de Automação →

Alerta por categoria

Receba novas skills de Automação toda segunda

1 email curto, só com as skills novas de Automação. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Unity ECS Skill

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

  1. Keep components small and focused
  2. Use Burst for all performance-critical jobs
  3. Batch entity operations
  4. Minimize structural changes
  5. Profile with Entity Debugger

References

Compartilhar X LinkedIn