Skip to content

Rune actors and placement

These are the actors and components used to place a rune puzzle in a level. The complete asset workflow is in Making runes.

AWorldRune

A placed word that the player can activate through the character's interaction box.

Key fields and components:

  • RuneData: word identity and grammar type
  • Origin: Physical or Environmental
  • Visual: mesh presentation and glow target
  • InteractionCollision: candidate discovery volume
  • CommandRange: noun command-orb radius
  • DeactivationRange: pending-world-token range
  • candidate/pending glow materials and intensity

Place world runes where the player can approach the interaction sphere. Keep the intended puzzle receiver inside the noun rune's command sphere.

URuneCoordinatorComponent

Native component on ARephraseCharacter. Designers normally configure it on BP_RephraseCharacter1 rather than place it independently.

Shared references include:

  • drawing data and widget class
  • drawing input context and actions
  • command feedback class and timing
  • drawn command range
  • input restore policy
  • drawing start state

Coordinate ownership before changing this component on the shared player Blueprint.

ARuneUnlockItem

A world item that grants one player ability. It is a child of AWorldRune, so the player finds, highlights, and activates it exactly like a world rune: walk the interaction box onto it, see the candidate glow, press Interact. It needs no RuneData and adds no word to the sentence.

Set these on the placed item or on its Blueprint, under Rune | Unlock:

  • Feature: Drawing grants the drawing tablet, Mind Palace grants the Mind Palace
  • Tutorial Title and Tutorial Body: the text shown when the item is used, such as the key to press. It stays up until the player opens what the item granted. No popup appears while both are empty
  • Tutorial Widget Class: the popup, a UTextTutorialWidget. Empty uses the plain panel; see UI and menus

Give the item a mesh on Visual and a CandidateGlowMaterial, the same as a world rune. Using the item disables it, which hides it unless it carries the Rune.VisibleWhenDisabled tag. BP_OnUnlocked fires for any extra effect.

The unlock is part of the checkpoint save. An item whose ability the save already holds disables itself at the start of the level.

The player starts without either ability. Drawing Starts Unlocked on the coordinator and Mind Palace Starts Unlocked on the player character are personal-prototype shortcuts for a map that has no item.

URuneableObjectComponent

Every puzzle device carries one. On a placed puzzle it shows under Puzzle:

  • Noun: the noun data asset whose rules this object follows
  • Status: the starting state; leave it empty to start in the noun's Default Status

The actor also needs query collision so the command orb can reach it.

ARunePuzzleActor

The base class of every puzzle device Blueprint in Content/Rephrased/Gameplay/PuzzleDevices/. It includes:

  • RuneableObject, CommandCollision, and SaveIdComponent
  • State Looks: one row per state, listing the parts that change
  • Performances: what plays when a rule reaches a state. A performance that ticks Play Cinematic holds the one optional level reference, its Cinematic Sequence
  • Accepts Drawn Runes: off for puzzles only world runes can command
  • Label Height: how far the red noun label floats above the top of the main mesh in the G debug view

The Puzzle category of a placed Door: Noun, Status, the Break Mesh Into 4 Pieces button, Label Height, four State Looks rows, four Performances rows, and Accepts Drawn Runes

Author the puzzle in its starting pose. State Looks offsets and rotations are measured from the authored pose, so a Door's Open look can rotate the door 90 degrees around its hinge.

Every part of the puzzle is a component of its Blueprint, such as the Bulb a Light switches or the BrokenPiece1 to BrokenPiece4 a repair flies back together. The Target dropdowns in State Looks and Performances list those components. A puzzle that plays a cinematic on repair sets the repair performance's Cinematic Sequence on the placed copy.

See Puzzle rules and behaviors for how rules, looks, and performances fit together.

AExpandingRingActor

Visual and delivery actor for a completed command. URuneCoordinatorComponent spawns it at the noun command origin and starts it with the authored command radius and duration.

Its expanding edge reports actors once. A matching URuneableObjectComponent receives the command at contact time.

Placement checklist

  • World rune has the correct RuneData and Origin.
  • Interaction collision can overlap the player trigger.
  • Noun command range covers every intended receiver.
  • Receiver collision supports overlap queries.
  • Receiver NounRune matches the command noun.
  • Starting status is one of the noun's states, or empty for its Default Status.
  • Every state has a State Looks row, and a performance that plays a cinematic has its Cinematic Sequence set.
  • Data validation on the placed puzzle reports no errors.
  • PIE verifies both word orders and an unsupported state.

Source files

  • Source/Rephrased/RuneSystem/Activation/WorldRune.h
  • Source/Rephrased/RuneSystem/Activation/RuneCoordinatorComponent.h
  • Source/Rephrased/RuneSystem/Activation/RuneUnlockItem.h
  • Source/Rephrased/RuneSystem/Effects/RuneableObjectComponent.h
  • Source/Rephrased/RuneSystem/Effects/RunePuzzleActor.h
  • Source/Rephrased/ExpandingRingActor.h

Change history

  • 2026-10-11 — Gabriel Li — Added ARuneUnlockItem, the world item that grants the drawing tablet or the Mind Palace and shows a text tutorial (CORE-013).
  • 2026-10-02 — Gabriel Li — The Cinematic Sequence sits in the performance that plays it, Label Height is measured from the top of the main mesh, and the broken piece components are renamed BrokenPiece1 to BrokenPiece4; added editor screenshots (CORE-011).
  • 2026-10-01 — Gabriel Li — Replaced Linked Actors with Blueprint components and an optional Cinematic Sequence (CORE-011).
  • 2026-09-29 — Gabriel Li — Documented puzzle actor State Looks, Performances, and Linked Actors (CORE-009).
  • 2026-09-17 — Gabriel Li — Updated placement guidance for world runes, the native coordinator, command-orb receivers, and Door/Light puzzle actors.
  • 2026-09-10 — Gabriel Li — Marked these actors as the legacy carry/slot/calculator path and routed SP2 placement to the current guide.
  • 2026-09-05 — Gabriel Li — Updated to the shipped hybrid Content structure (PR #19): PreProShowcase sandbox under Content/Rephrased/Levels/Prepro/, Art/Gameplay/Levels layout, Imports isolation, Content/Developers/<Discipline>/<Name>/ scratch space.
  • 2026-05-08 — Gabriel Li — Added baseline change history section for weekly wiki maintenance.