Skip to main content

Controls Guide: Touch, consumesTap & Processor Logic

Controls cover player input and the in-game logic control system (processors and control instructions) used to command units and buildings. Good control usage speeds micromanagement, automates conveyors and machines, and exposes advanced behaviors via the Logic processor.

Player controls (PC and Mobile)

Player unit

  • Movement: WASD / arrow keys on PC; drag the screen on mobile.
  • Interact: Left click (PC) / tap (mobile) to shoot or to place buildings.
  • Mining: Left click on ore (PC) or tap on ore (mobile) to mine.
  • Possess: Ctrl + Left Click (PC); tap on a unit (mobile) to possess it.
  • Respawn: press the respawn key to return to the nearest core.
  • Boost: press the boost key to sprint/boost the unit; on mobile drag the screen away from the unit to boost.
  • Cargo: pick up and drop cargo with the pick/drop keys; on mobile tap & hold to pick up or drop.

Buildings and construction

  • Place building: Left click (PC) or tap (mobile).
  • Delete/deselect: Right click (PC) or use the hammer/delete UI on mobile.
  • Pause/resume building: use the build pause key.
  • Region selection/rebuild: use the region select and rebuild keys to work with multiple blocks and schematics.
  • Block configuration: many blocks are configurable by tapping/selecting them; some blocks consume the touch event when tapped and can be configured directly.

Unit commands and view

  • Open unit command UI with the unit command key.
  • Group select: Shift + Left Click to select an area of units.
  • Select all units or all unit factories with their respective hotkeys.
  • Give multiple waypoints: Shift + Middle Mouse (PC).
  • Zoom: mouse scrollwheel.
  • UI visibility toggle, fullscreen, menu and console each have their own hotkeys.
  • Multiplayer: player list and chat have dedicated keys; scrollwheel scrolls chat history.

Logic overview (what controls means in-game)

Logic is the in-game scripting system executed by Processors. It provides deterministic, low-level instructions similar to assembly: each instruction is evaluated based on the processor's instruction counter, and the processor cycles through its program each tick according to its speed/clock.

Processors can interact with the world: they read sensors, read/write memory blocks, control block states, print messages, and jump conditionally. Visual-editing and text-editing modes are available; the visual editor is beginner-friendly and supports mobile use and clipboard import/export.

Common instruction categories

Example patterns

  • Toggle a conveyor with a switch:

    1. sensor active switch1 @enabled
    2. jump 4 strictEqual active true
    3. control enabled conveyor1 0 0 0 0
    4. end
    5. control enabled conveyor1 1 0 0 0 This reads the switch, jumps to enable or disable the conveyor, loops indefinitely.
  • Write a message to a Message block:

    1. print "Hello world!"
    2. printflush message1 Connect the Processor to the Message block; print stores, printflush outputs to the named message block.
  • Read memory cell contents: read value = cell1 at 2 This places the numeric value at index 2 of cell1 into variable value (indices start at 0).

UI and usability tips

  • Use the visual editor when starting: it shows variables, jump flow, and is easier on mobile.
  • Use clipboard import/export to copy scripts between the desktop and mobile editors.
  • Name linked blocks (router1, conveyor1, switch1, message1) clearly to make logic readable and reusable.
  • Remember processors execute one instruction per tick according to their counter/clock; structure loops and jumps with that timing in mind.

Block interaction nuances

  • Some blocks expose a per-instance "building" link (as opposed to a content/class). getlink retrieves the linked building instance which can be inspected or controlled.
  • Blocks can expose configurable tap behavior and whether they consume touch events; configurable blocks can be tapped to open configuration UI.

This document describes the controls layer: player input and the Logic system used to program and automate units and blocks. Use processors to read sensors, manipulate block states, handle messages, and orchestrate complex factory and unit behaviors.

Pages featured in this guide