Skip to content

DOTS Layer

Burstable code is required. Jobified code is encouraged.

Data Modeling: DOTS Compatible

Data used in this layer are DOTS-compatible. They are: - Stored in struct - Blitable - Blob assets - NOT in Native Containers: this should only be used in Systems

Data Processing: Systems

Purely done in System - Only Burstable System (ISystem) - OnUpdate must be Burstable - OnCreate is preferrably Burstable. Reflective code is sometime useful to create more expansive queries, such as getting all components which implement a specific interface. This will make it Non-Burstable. - Retrieving data using only Query - Structural changes: prefer query-based over per-entity API - Data processing preferrably in Jobs - Avoid Command Buffer if possible

Visibility

Components

- Public if intended to be used in other assemblies
- Internal if only used by its own systems

Systems

- Must be internal
- If system ordering is required from other assemblies, a public ``ComponentSystemGroup`` must be created
- If this ``ComponentSystemGroup`` is used in many assemblies for system ordering. It could be promoted to Stratkit.Entities.Core

IDotsModule

  • Implement this interface to expose internal systems for system creation