Skip to content

Architecture

Runtime layers

Layer Main types
Grid TacticalGrid, TacticalCell, GridPathfinder, GridLineTrace
Map data TacticalMapData, TacticalMapPalette, TacticalCellOverride
Units TacticalUnit, UnitDefinition, AbilityLoadout
Combat CombatResolver, CoverResolver, LineOfFireService, OverwatchSystem
Abilities AbilityController, definitions, effects, and effect executor
Turn TurnManager
Vision GridVisibilitySystem, FogOfWarPresenter
AI AlienTurnController, AlienSpawnSettings
Presentation HUD, world HUD, feedback, range and cone visualizers
Animation Profile, controller, actions, and event relay

Data-first extension

Prefer creating ScriptableObject assets for content variation. Write new runtime code when behavior changes, not when only values change.

Game-specific systems

Objectives, campaign progression, inventory, save games, dialogue, and mission generation are intentionally outside the core combat engine. Integrate them by subscribing to turn, unit, ability, and death events.