OptionalentityOptionaleventOptionalexcludeScreens where this system should NOT run. If specified, system skips when current screen is in this list.
OptionalgroupsGroups this system belongs to. If any group is disabled, the system will be skipped.
OptionalinScreens where this system should run. If specified, system only runs when current screen is in this list.
OptionalonPer-query callbacks that fire once per entity the first time it appears in a query's results. Fires before process. Automatic cleanup when entity leaves query (component removed, entity destroyed) so re-entry fires the callback again.
OptionalphaseExecution phase for this system (default: 'update') Systems are grouped by phase and executed in order: preUpdate -> fixedUpdate -> update -> postUpdate -> render
OptionalprioritySystem priority - higher values execute first (default: 0) When systems have the same priority, they execute in registration order
OptionalrequiredAssets that must be loaded for this system to run. System will be skipped if any required asset is not loaded.
OptionalrunWhen true, the system's process function runs even when all queries return zero entities. Default is false (system is skipped when all queries are empty).
OptionalonOptionalonLifecycle hook called when the system is initialized This is called when ECSpresso.initialize() is invoked, after resources are initialized Use this for one-time initialization that depends on resources
OptionalprocessProcess method that runs during each update cycle. Receives a single context object with queries, dt, and ecs.
Event handlers for specific event types