wave4-systembase-with-inner-ijobentity

Creates Burst-compatible IJobEntity schedules within managed SystemBase wrappers.

6|Updated Apr 2, 2026
One-click install
npx skills add https://github.com/dyCuong03/unity-agent-team --skill wave4-systembase-with-inner-ijobentity
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wave4-systembase-with-inner-ijobentity
Source: https://github.com/dyCuong03/unity-agent-team/tree/main/.claude/skills/unity-dots/wave4-systembase-with-inner-ijobentity
Command: npx skills add https://github.com/dyCuong03/unity-agent-team --skill wave4-systembase-with-inner-ijobentity

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It solves the challenge of writing efficient Unity DOTS systems when the system shell needs managed resources, while the hot path still needs Burst-compiled job performance.

Core Features & Use Cases

  • Managed SystemBase outer shell: Use SystemBase when you must hold managed references (e.g., event subscriptions, managed callbacks, or managed access patterns).
  • Burst-compiled inner IJobEntity hot path: Delegate the compute-heavy work to inner IJobEntity structs that can be marked with [BurstCompile].
  • Correct dependency chaining across ScheduleParallel: Use the SystemBase.Dependency auto-chaining behavior across sequential ScheduleParallel calls to avoid race conditions.

Use it when you have multiple jobs per OnUpdate that should share a dependency chain, but you cannot make the entire system purely ISystem because managed context is required.

Quick Start

Use the SystemBase shell for managed setup, then move all per-frame compute into Burst-compiled inner IJobEntity jobs scheduled from OnUpdate.

Frequently Asked Questions about wave4-systembase-with-inner-ijobentity

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I use Burst-compiled jobs in a Unity DOTS SystemBase that requires managed resources?

To use Burst-compiled jobs with managed resources in Unity DOTS, maintain a managed SystemBase outer shell for callbacks while delegating compute-heavy work to inner IJobEntity structs marked with [BurstCompile]. This preserves parallel job performance during OnUpdate.

Can I schedule multiple IJobEntity jobs sequentially in Unity DOTS without causing race conditions?

You can schedule multiple IJobEntity jobs sequentially without race conditions by relying on the SystemBase.Dependency auto-chaining behavior across sequential ScheduleParallel calls to correctly preserve dependency chaining.

What is the best way to combine managed system callbacks with parallel job performance in Unity ECS?

The best way to combine managed callbacks with parallel job performance is using a SystemBase shell for managed setup and moving per-frame compute into Burst-compiled inner IJobEntity jobs scheduled from OnUpdate.

Why should I avoid Burst-compiling the OnUpdate method in a SystemBase with managed dependencies?

You should avoid Burst-compiling the OnUpdate method because the SystemBase shell requires managed context like event subscriptions or interface references, which prevents the virtual method itself from being Burst-compiled.

When do I need an inner IJobEntity instead of a purely unmanaged ISystem in Unity DOTS?

You need an inner IJobEntity when your system cannot be purely unmanaged ISystem because it requires managed context, but you still need to execute the compute-heavy workload as Burst-compiled jobs for parallel performance.

Does SystemBase support dependency chaining for sequential ScheduleParallel calls automatically?

Yes, SystemBase supports dependency chaining automatically by utilizing its built-in SystemBase.Dependency auto-chaining behavior across sequential ScheduleParallel calls to ensure safe job execution.