Manual
Workflows & Guides
Step-by-step walkthroughs for the most common tasks. Start with the Overview if this is your first time, then follow the how-to guides to extend the game with your own content.
How-To Guides
Workflow guides for adding and customising game content — new instructions, enemy AI, interactables, and level design.
Overview
Quick start, requirements, project structure, singleton persistence chain, and execution flow. The right place to begin.
Quick Start
Project Structure
Execution Flow
Extension Points
Create a Level
Build a new level from scratch — LevelInfo asset, scene setup, tile grid, player placement, manager wiring, and goal configuration.
LevelInfo
PathTile grid
LevelManager
Goals
Create an Instruction
Add a new player action to the instruction sheet. Covers the full workflow from writing the C# class to wiring the prefab and palette.
PlayerInstruction
Tick() override
Prefab setup
Palette wiring
Create an Instruction Layout
Build the prefab widget that represents an instruction on the sheet — duplicate, pick the right layout type, configure fields, wire the Action component, and place it in the palette.
InstructionLayout
Action component
Palette setup
Modifier & Sequence
Create an Enemy Instruction
Add a new AI behaviour that runs alongside the player's turn. Follows the same pattern as player instructions with enemy-specific context.
EnemyInstruction
EnemyAction
Parallel execution
Prefab setup
Create an Interactable
Add a new world object the player can interact with, carry, or push — by implementing one or more of the interactable interfaces.
IInteractable
ICarryObject
IPushable
Prefab setup
Tile Traps
Place and configure pressure plates and appearing spikes. Both traps are self-scheduling and run every turn automatically without any extra wiring.
PressurePlate
AppearingSpikes
Stages pattern
Damage timing
Inventory System
Read and modify items, equipment, and carry state from custom instructions and interactables. Covers both the execution copy and the persistent inventory.
context.inventory
TryAddItem / TryUseItem
Item & Equipment assets
Stats & Effects
Audio Setup
Configure persistent volume sliders and per-scene background music. Settings survive game restarts without any extra code.
SoundManager
MusicManager
Volume sliders
Save / restore
UI Setup
Configure the player and enemy HUD bars, inventory window, notification toasts, and win/options screens. Includes a guide to subclassing Window for custom panels.
PlayerHealthBar
InventoryWindow
NotificationLayout
Window
Setup Guides
Reference guides for configuring the built-in components and systems — player stats, enemy prefabs, data persistence, world map, and scene utilities.
Player Setup
Configure PlayerHealth, PlayerStamina, and ActiveEffectsController on the player GameObject. Wire health and stamina events to the HUD.
PlayerHealth
PlayerStamina
ActiveEffectsController
HUD wiring
Enemy Setup
Configure EnemyHealth, optional ItemDropper loot, and the four Enemy HUD components on an enemy prefab.
EnemyHealth
ItemDropper
EnemyHealthBar
EnemyActionSequencePanel
Data Systems
Set up DatabaseManager (item lookup) and GameDataManager (level progress, audio settings, discovered equipment). Both are persistent singletons.
DatabaseManager
GameDataManager
SaveLevel()
DiscoveredEquipment
World Map
Build the world map scene with WorldMapManager and one LevelMarker per level. Chain markers to form the unlock progression and display star ratings.
WorldMapManager
LevelMarker
LevelInfoScreen
Star ratings
UI Screens
Configure the win screen, in-game options menu, and item list window. All extend Window and follow the same open/close pattern.
WinScreenController
GameOptionsMenu
ItemsListWindow
Window base class
Projectile
Create a projectile prefab and fire it from a ranged player instruction, or attach ShootSuscriber to an enemy for no-code ranged attacks.
Projectile prefab
Shoot()
ShootSuscriber
Visual FX & Utilities
Drop-in components for breathing animations, hover effects, decorative clouds, UI locking during play, pixel snapping, and Y-based depth sorting.
SpriteExpandAnimation
HoveringMouse
DisableOnRunning
DepthSortingOrder