Skip to content

Units & Companions

Units are the characters in the world — your colonists, enemies, and neutral NPCs. In Overseer Mode, you select and command units to build, demolish, and explore.

Each unit belongs to a faction:

FactionBehavior
ColonySelectable, commandable, possessable by the player
EnemyHostile — attacks on sight
NeutralNon-hostile — future trading

Units execute commands from a queue. Available commands:

CommandDescription
MoveToPathfind to a target tile
BuildPlace a block at a tile using an item
DemolishRemove a block at a tile
PickupPick up an entity (dropped item)

Commands are queued sequentially. Hold Shift + right-click in Overseer Mode to append to the queue instead of replacing it.

Units use A* pathfinding to navigate to their target. The pathfinder respects:

  • Block movement rules (blocks_movement property)
  • Surface transitions (step up/down, walk, fall)
  • Z-level navigation via stairs

Using kinswardctl, you can assign multi-waypoint routes:

Terminal window
kinswardctl unit-plan <entity_id> 5,0,1 5,5,1 0,5,1

The global TaskQueue holds pending tasks. When a unit becomes idle, it automatically picks the nearest pending task from the queue and pathfinds to execute it.

Task types: Build, Demolish, Pickup.

Tasks can be created by:

  • Right-clicking in Overseer Mode
  • Zone operations (bulk build/demolish)
  • kinswardctl commands (task-add, zone-build, zone-demolish)

Companions are Colony units that follow behavioral patterns:

BehaviorDescription
FollowFollow a specific entity (typically the player)
StationStay in place

Use kinswardctl companion commands or the in-game companion system:

Terminal window
# List all companions
kinswardctl companion-list
# Set a companion to follow
kinswardctl companion-behavior <entity_id> follow
# Call all companions to follow
kinswardctl companion-call-all
# Dismiss all (station in place)
kinswardctl companion-dismiss-all

In debug mode, new units can be spawned via kinswardctl:

Terminal window
# Spawn a dwarf at position (10, 5, 1)
kinswardctl spawn dwarf 10 5 1 --name "Urist" --faction colony --controlled
# Possess a unit (take direct control)
kinswardctl possess <entity_id>
# Release possession
kinswardctl possess

You can possess a Colony unit to take direct control in Adventure Mode. While possessing a unit, WASD moves that unit instead of the default player character.