Skip to main content
Every block in the level has up to six sides (faces), corresponding to the six directions: Up, Down, Left, Right, Front, and Back. Sides are the attachment points for items, enemies, balls, and decorations.

Side Selection

To select a side:
  1. Navigate the camera so a block face is visible
  2. Left-click on the face — a raycast detects which side you clicked
  3. The selected side highlights with a distinct color on the block selector
The raycast uses the SidesFullCullMask layer and requires the clicked object to have the Sides tag. Only sides belonging to the current section can be selected.

Applying Templates to Sides

With a block template selected in the Blocks Pool:
  1. Right-click on a block side
  2. The currently selected template is applied to that side
This replaces the side’s template while preserving existing elements (items, enemies, etc.) if compatible. If the new template is BlockOnly or the old template was BlockOnly, the editor removes the old block and inserts a new one.

Template Compatibility

  • Side → Side: The side is recreated with the new template. Script references and local variables are preserved.
  • BlockOnly → Side: The entire block is removed and re-inserted as a side template.
  • Side → BlockOnly: Same as above — the block is replaced.
  • Same template: No change — the operation is a no-op.

Side Properties

Each side maintains:
  • Template reference — The SideTemplate defining its appearance and behavior
  • Item — An optional Item attached to this face
  • Decoration — An optional Decoration attached to this face
  • EditorEnemy — An optional Enemy attached to this face
  • EditorBall — An optional Ball attached to this face
  • LuaScriptConnector — Script reference and tag for this specific side
  • LuaLocalVariablesDefinitions — Key-value pairs accessible from the side’s script
  • ElementPropertiesManager — Dynamic properties defined by the template

BlockOnly vs Side Templates

When a BlockOnly template is used, pressing V opens the block’s properties directly instead of the side’s properties.

Visual Feedback

The block selector shows colored faces to indicate selection state:
  • Selected face — Highlighted with the selection material
  • All faces selected — Block is grabbed (ready to move)
  • No selection — Default wireframe appearance