What problem does it solve?
This Skill prevents compile-time failures by conditionally removing managed IComponentData usage for Unity DOTS builds that cannot tolerate managed components, ensuring a project can produce both managed-component and managed-component-free targets.
Core Features & Use Cases
- Preprocessor guard for managed components: Wraps managed
IComponentData types and their dependent systems behind #if !UNITY_DISABLE_MANAGED_COMPONENTS so strict build configurations compile cleanly.
- Always-available blittable fallback: Defines a blittable
IComponentData alternative that remains present in all configurations to keep ECS jobs and data models working regardless of the guard.
- Architecture and CI guidance: Emphasizes the need to guard both components and all consuming systems, and recommends enforcing the mode via a dedicated CI build so missing guards are caught early.
Use it when you need the same codebase to support IL2CPP strict builds, DOTS Runtime constraints, or custom stripped builds where managed components are prohibited.
Quick Start
Ask the AI to audit your DOTS components and systems, then update each managed IComponentData and every consumer system to use #if !UNITY_DISABLE_MANAGED_COMPONENTS while adding a blittable fallback component type.