Stock Conditions & Instructions
The built-in vocabulary you compose rules from — all 60 entries, generated from the toolkit source so the reference cannot drift from the code.
How to read this page
Everything below is generated from the same [Doc] attributes that power the in-editor picker, and a test gate fails whenever this page's data no longer matches the code. Parameters marked (resolved) are not plain values: they resolve when the rule runs, so the same parameter can be a typed-in constant, this object, whoever triggered the event, or a live stat reading.
Conditions (9)
Character/Combat
Took Damage TookDamageCondition
Passes for a short window after the character's health drops, whatever caused it -- a weapon hit, a hazard, or a drain replicated from another machine.
Example: Flash a screen effect for a moment when the local player is hit.
| Field | Type | What it does |
|---|---|---|
Target | Object (resolved) | Which character to watch. Defaults to whatever this event is about. |
Within Seconds | Number (resolved) | How long after a health drop this condition keeps passing. |
Character/Inventory
Has Item HasItemCondition
Passes while the subject's inventory holds at least the given count of an item. Reads the inventory directly, so it agrees with the hotbar the instant a pickup, a drop or a container deposit changes it.
Example: Gate a locked door's Open instruction on Has Item: Key, so the door only opens once the subject is carrying it.
| Field | Type | What it does |
|---|---|---|
Target | Object (resolved) | Which character's inventory to check. Defaults to whatever this event is about. |
Item | ItemDefinition | The item to look for. |
Min Count | Number (resolved) | Minimum number of that item the subject must be carrying. |
Character/State
Is Alive IsAliveCondition
Passes while the character is alive -- or while they are dead, if you untick Expect Alive. Reads the kit's single definition of alive, so it always agrees with health bars and death handling.
Example: Gate a revive interaction on Is Alive of the Target with Expect Alive unticked.
| Field | Type | What it does |
|---|---|---|
Target | Object (resolved) | Which character to check. Defaults to whatever this event is about. |
Expect Alive | On/off | Untick to invert: pass when the character is dead. |
Logic
Compare Number CompareNumberCondition
Passes when two numbers compare the way you pick -- equal, not equal, greater, greater-or-equal, less, or less-or-equal. Both sides are resolved through the number resolver family, so this reaches a stat, an item count, a distance, or a literal with the same one condition.
Example: Compare Number: Stat Value (Health, Fraction) of Subject <= 0.25 gates a low-health warning without a bespoke condition.
| Field | Type | What it does |
|---|---|---|
A | Number (resolved) | The left-hand number. |
Comparison | Choice | How the left side must relate to the right side for this to pass. |
B | Number (resolved) | The right-hand number. |
Object/Motion
Is Moving IsMovingCondition
Passes while the object is moving faster than the threshold. Uses the Rigidbody velocity when there is one and measures real displacement otherwise, so hand-moved and animated objects work too.
Example: Play a rattling sound while a cart is rolling.
| Field | Type | What it does |
|---|---|---|
Target | Object (resolved) | Which object to watch. Defaults to the object this rule lives on. |
Speed Threshold | Number (resolved) | Speed above which the object counts as moving, in units per second. |
Round
Round Phase RoundPhaseCondition
Passes while the active round is in the given phase: waiting, counting down, running or finished.
Example: Let a gate button work only while the round is Running.
| Field | Type | What it does |
|---|---|---|
Phase | Choice | |
Expect In Phase | On/off | Untick to invert: pass in every phase EXCEPT the one above. |
Round/Race
Lap Reached LapCondition
Passes once the subject has completed at least this many laps.
Example: Gate a reward zone to players on their final lap.
| Field | Type | What it does |
|---|---|---|
Min Laps | Number (resolved) | Passes when the subject has completed at least this many full laps. |
Saving
Has Save Data HasSaveDataCondition
True when the given save slot contains anything. Checks only that data exists; it does not read or validate it, so a corrupt save still counts as present.
Example: On a Continue button's Conditions: Has Save Data — so a first-time player is not offered a game to continue.
| Field | Type | What it does |
|---|---|---|
Slot | Whole number | Which save slot to look in. 0 is the default slot. |
Scene Flow
Is In Level IsInLevelCondition
Passes while a level is loaded and the game is not sitting in the lobby.
Example: Make the menu hotkey do nothing while in the lobby.
| Field | Type | What it does |
|---|---|---|
Expect In Level | On/off | Untick to invert: pass when in the lobby (Main scene). |
Instructions (31)
Character/Combat
Apply Damage ApplyDamageInstruction
Deals damage through the combat pipeline, so armour, invulnerability and death are handled exactly as they are for a weapon hit.
Example: A spike trap volume that respects invulnerability frames.
| Field | Type | What it does |
|---|---|---|
Amount | Number (resolved) | Points of damage to deal. Positive -- damage subtracts from health. 0 is legal only with a knockback/effect payload below (a damage-free bumper). For healing use Modify Stat with a positive amount instead. |
Affected Groups | Choice | Which sides this damage may hit. A hazard usually hits Everyone; a player's attack usually should not hit their own side. |
Can Hit Instigator | On/off | May this damage hit the object that owns the trigger, if that object is itself damageable? Irrelevant for plain hazard volumes (they are not damageable), so the default stays permissive. |
Knockback Force | Number | Knockback impulse pushing the subject AWAY from the trigger's owner (m/s change) -- a bumper. 0 = no knockback. With amount 0 this is a damage-free shove. |
Knockback Up Force | Number | Upward lift added to the knockback so grounded targets pop loose. Only used while knockbackForce > 0. |
Target Effect | StatEffectDefinition | Stat effect applied to the TARGET on each hit (a poison pool that also bites). Optional. Online, the target must list this asset in its CharacterStats knownEffects. |
Instigator Effect | StatEffectDefinition | Stat effect applied to the trigger's OWNER on each hit -- only meaningful when the owner is a character. Optional. |
Character/Inventory
Add Item AddItemInstruction
Puts an item in the subject's inventory and tells them about it. Aborts the rest of the list when it does not fit -- which is what leaves a pickup in the world instead of destroying it for nothing.
Example: Add Item then Destroy Self is a complete pickup.
| Field | Type | What it does |
|---|---|---|
Item | ItemDefinition | |
Amount | Number (resolved) | How many to give. |
Character/Stats
Apply Stat Effect ApplyStatEffectInstruction
Applies a buff or debuff asset to the subject. Runs exactly once even when the trigger that started it fires on every machine.
Example: A poison volume: On Enter Apply Stat Effect, On Exit Remove Stat Effect.
| Field | Type | What it does |
|---|---|---|
Effect | StatEffectDefinition |
Modify Stat ModifyStatInstruction
Adds to or subtracts from one of a target's stats, once. Fires on every connected machine like any trigger-driven instruction, but only the machine that owns the target's CharacterStats actually writes -- gated on CharacterStats.IsAuthoritative, so a volume firing everywhere still counts once. Target defaults to the subject (whoever fired this rule), so every existing rule keeps its old behaviour; point it at a named object (a fort, a door, any CharacterStats holder) to change a shared target instead.
Example: Ten health off whoever touches a hazard, or off a named Fort object instead.
| Field | Type | What it does |
|---|---|---|
Stat | StatDefinition | |
Target | Object (resolved) | Whose stat to change. Defaults to the subject -- the object that fired this rule -- so an existing rule with this left unset behaves exactly as before. Point it at a named object (a fort, a door, any CharacterStats holder) to change a shared target instead of whoever entered. |
Amount | Number (resolved) | How much to add. Negative subtracts -- a ten-health hazard is -10. |
Remove Stat Effect RemoveStatEffectInstruction
Takes a buff or debuff off the subject. Removing one that is not active does nothing.
Example: The On Exit half of a poison volume.
| Field | Type | What it does |
|---|---|---|
Effect | StatEffectDefinition |
Debug
Debug Log DebugLogInstruction
Writes a line to the console. The first thing to reach for when a rule is not doing what you expected.
Example: Log the instigator's name to see which object set a trigger off.
| Field | Type | What it does |
|---|---|---|
Message | Text (resolved) | What to write to the console. |
Target | Object (resolved) | Which object the console line highlights when clicked. Defaults to the object this rule lives on. |
Effects
Play Feedback PlayFeedbackInstruction
Plays a Feedback Definition -- particle, camera shake, hit-stop, sound -- at a target's position. Runs on every connected machine, which is the correct behaviour for a cosmetic effect: everyone present sees and hears it.
Example: A trap springing plays a puff and a small camera shake for whoever triggered it.
| Field | Type | What it does |
|---|---|---|
Feedback | FeedbackDefinition | What to play. Left empty, this instruction does nothing -- feedback slots are optional everywhere in this module. |
Target | Object (resolved) | Where to play it. Defaults to the subject -- the object that fired this rule. |
Flow
Repeat Every Seconds RepeatEverySecondsInstruction
Runs its own instruction list on a timer, for a count or until the round leaves Running or this object is switched off. It fires on every connected machine like any trigger-driven instruction, so gate any stat write inside it on CharacterStats.IsAuthoritative, or it multiplies by the connection count.
Example: Every 20 seconds, enable the next wave object -- paired with Toggle Object.
| Field | Type | What it does |
|---|---|---|
Interval Seconds | Number (resolved) | Seconds between repeats. Zero or less still yields one frame between ticks, so it can never freeze the game. |
First Run Delay Seconds | Number (resolved) | Optional delay before the first run. Zero starts the first run immediately. |
Repeat Count | Whole number | How many times to repeat. 0 or less repeats until the round leaves Running or this object is switched off. |
Instructions | Instructions (nested list) | Runs every tick, in order -- this instruction's own nested list. |
Wait WaitInstruction
Pauses the rest of the list for a while. Game time, so it pauses when the game does, and it survives the behaviour being disabled.
Example: Toggle Off, Wait 3s, Toggle On is a timed effect with no code.
| Field | Type | What it does |
|---|---|---|
Seconds | Number (resolved) | Seconds to wait before the rest of the list continues. Game time, so it pauses with the game. |
Wait Until WaitUntilInstruction
Pauses the rest of the list until a condition holds, or until it gives up waiting.
Example: Wait Until every player is in the zone, then start the round.
| Field | Type | What it does |
|---|---|---|
Condition | Condition | The condition to wait for. Polled once per frame, so keep it cheap. |
Timeout Seconds | Number (resolved) | Give up after this many seconds. Zero waits forever -- a rule that never finishes. |
Continue On Timeout | On/off | Untick (the default) and timing out aborts the rest of the list. Tick to carry on anyway. |
Object
Destroy Self DestroySelfInstruction
Removes the object this rule lives on. Put it last: instructions after it would still run, because destruction happens at the end of the frame.
Example: The tail of a pickup, straight after Add Item.
Launch LaunchInstruction
Throws THIS object -- the one carrying this instruction, via its Interactable or Trigger -- upward and forward at a fixed speed, regardless of how heavy it is. Does not launch whoever triggered the rule; for that, use Launch Subject.
Example: A crate that pops out of a chest, or a launcher that fires its own carried prop.
| Field | Type | What it does |
|---|---|---|
Speed | Number (resolved) | Launch speed, applied as a velocity change -- mass-independent, so the same instruction throws crates and boulders alike. |
Upward Arc | Number | Upward fraction added to the launch direction for an arc (0 = flat shove, 0.5 = steep lob). |
Launch Subject LaunchSubjectInstruction
Launches whoever triggered this rule (the Subject) upward and forward at a fixed speed -- a real jump pad or knockback pad. For a PartyCharacter this goes through the character's own knockback motor, so movement steers back toward input afterward the same way combat knockback does.
Example: A bounce pad a player walks onto, or a launcher that flings whoever enters it.
| Field | Type | What it does |
|---|---|---|
Speed | Number (resolved) | Launch speed, applied as a velocity change -- mass-independent, so a light or heavy character launches the same distance. |
Upward Arc | Number | Upward fraction added to the launch direction for an arc (0 = flat shove, 0.5 = steep lob). |
Move Object MoveObjectInstruction
Opens, closes or toggles a movable object -- a gate, a door, a barrier. Toggle is for single-machine sources like buttons and hotkeys; a volume firing on every machine should open or close explicitly.
Example: A button that opens the parkour gate.
| Field | Type | What it does |
|---|---|---|
Target | MovableObject | |
Action | Choice |
Toggle Object ToggleGameObjectInstruction
Shows, hides, or flips the visibility of an object. Needs an explicit target: hiding the object the rule lives on would switch off the rule that is running.
Example: A hotkey that shows and hides the inventory panel.
| Field | Type | What it does |
|---|---|---|
Target | Object (resolved) | What to show or hide. Deliberately empty by default: hiding the object this rule lives on would switch off the rule itself. |
Mode | Choice |
Player
Out Of Bounds OutOfBoundsInstruction
Puts the subject through the scene's out-of-bounds rule -- respawn, or end the round -- instead of hard-wiring one consequence into the volume.
Example: One volume under the course turns every fall into the right consequence.
Respawn Player RespawnPlayerInstruction
Sends the subject back to their last checkpoint, or to the start if they have none.
Example: A volume under the course is a complete kill plane.
Set Checkpoint SetCheckpointInstruction
Makes this the place the subject respawns from next time.
Example: A volume midway through a course, so a fall does not send you back to the start.
| Field | Type | What it does |
|---|---|---|
Checkpoint | Transform | Where to respawn. Empty = the owning object's own transform (the volume itself). |
Saving
Load Game LoadGameInstruction
Re-reads a save slot and applies it. Also picks up changes made to the save files by hand, which makes it the quickest way to check that a save contains what you think it does.
Example: On a Continue button: Load Game, then Load Level.
| Field | Type | What it does |
|---|---|---|
Slot | Whole number | Which save slot to read. 0 is the default slot. |
Save Game SaveGameInstruction
Writes everything that participates in saving -- settings, remembered objects, progress -- to a save slot. Settings already save themselves when they change, so this is for the moments a game decides are worth recording.
Example: On a checkpoint trigger: Save Game. On the quit button: Save Game, then Load Level.
| Field | Type | What it does |
|---|---|---|
Slot | Whole number | Which save slot to write. 0 is the default slot. |
Scene Flow
Load Level LoadLevelInstruction
Switches to another level. In a live session only the host actually switches and clients follow, so on a client this aborts the rest of the list.
Example: Round over: Load Level.
| Field | Type | What it does |
|---|---|---|
Level | LevelDefinition | The level to load, from the level catalog. |
Return To Lobby ReturnToLobbyInstruction
Leaves the level. On the host this ends the session for everyone; on a client only that client leaves.
Example: The button on the results screen.
Stats
Set Stat Enabled SetStatEnabledInstruction
Switches a stat off (or back on) for the subject. A disabled stat behaves as if the character never had it: nothing changes it, nothing gates on it, and its bar hides. Re-enabling refills it.
Example: Disable on a volume's On Enter and Enable on its On Exit: inside that area sprinting costs no stamina, and the no-sprint-when-empty rule stops applying.
| Field | Type | What it does |
|---|---|---|
Stat | StatDefinition | Which stat to switch. The same asset the character's CharacterStats lists. |
Enabled | On/off | Off = disable the stat while the subject is here. On = release THIS volume's hold and refill the stat. |
UI
Dismiss Notification DismissNotificationInstruction
Fades out the notifications of one shape that are currently on the subject's screen. Pair it with Show Notification: show on enter, dismiss on exit, so messages stop stacking up.
Example: A briefing volume: On Enter, Show Notification as a message; On Exit, Dismiss Notification message -- so walking through five rooms leaves one card on screen, not five.
| Field | Type | What it does |
|---|---|---|
Shape | Choice | Which shape to take off the screen. Matches the shape on Show Notification. |
Show Notification ShowNotificationInstruction
Shows a toast, a banner or a readable message popover to the subject. The no-code way to turn any rule into something the player can actually see.
Example: A goal volume: On Enter, Show Notification You Win as a banner. An entrance volume: On Enter, Show Notification as a message, explaining the room.
| Field | Type | What it does |
|---|---|---|
Message | Text (resolved) | What the notification says. |
Shape | Choice | |
Style | Choice |
Value
Set Value SetValueInstruction
Copies a number into a destination -- a stat, a remembered number, or nowhere (Discard, the safe default before a destination is chosen).
Example: Source: Distance to Target. Destination: Stat of Self = Speed -- a stat that tracks how close another object is.
| Field | Type | What it does |
|---|---|---|
Source | Number (resolved) | The value to write. |
Destination | PropertySetNumber | Where to write it. Discard by default -- the explicit, safe 'nowhere'. |
World/Building
Place Object PlaceObjectInstruction
Places a copy of a placeable item into the world in front of the subject, through the same construction a player's own build commit uses -- a scripted placement looks, saves and picks up identically to one the player built by hand.
Example: A shop rule that hands over a placeable already built instead of dropped, or a starter structure a level seeds on round start.
| Field | Type | What it does |
|---|---|---|
Item | PlaceableDefinition | |
Forward Offset | Number | How far in front of the subject (metres) the object is placed. |
Remove Placed Object RemovePlacedObjectInstruction
Removes the placed object this rule lives on (or lives under), pruning its placement-ledger row first -- the same clean removal a hammer pickup performs. Use this instead of Destroy Self on a placed object's own rule.
Example: A rule on a placed structure that removes it after a timer or a game event.
World/Containers
Deposit Into Container DepositContainerInstruction
Moves the item the player has selected into the container on this object.
Example: A storage chest that accepts items as well as handing them out.
Open Container OpenContainerInstruction
Opens the container window for the storage on this object, or closes it if it is already showing.
Example: The default chest interaction.
Take From Container LootContainerInstruction
Takes the next stack out of the container on this object and gives it to the player.
Example: A grab-all crate that empties in one press.
Object parameters (11)
Context
Player Of GameObjectPlayer
The player an object belongs to, found by walking up to the character root. An event's cause is often a collider deep inside a rig; this is how a rule reaches the player instead.
| Field | Type | What it does |
|---|---|---|
Of | Object (resolved) | Which object to find the owning player of. Defaults to whatever this event is about. |
Self GameObjectSelf
The object this rule lives on.
Subject GameObjectSubject
The target when the event has one, otherwise self. The historical default of every node that carried a plain object field.
Target GameObjectTarget
The object that caused this event -- whoever entered the trigger, pressed the button or fired the hotkey. Nothing on a polled tick, which has no cause.
Hierarchy
Child Of GameObjectChild
A named child of another object. Takes a path like Body/Lid, so nested children need no second resolver.
| Field | Type | What it does |
|---|---|---|
Path | Text | Child name, or a path like Body/Lid. Same rules as Transform.Find. |
Of | Object (resolved) | Which object to look under. Defaults to whatever this event is about. |
Component Owner GameObjectComponentOwner
The nearest ancestor carrying a chosen kind of component -- Player Of generalized to component types other than a character.
| Field | Type | What it does |
|---|---|---|
Of | Object (resolved) | Which object to search upward from. Defaults to whatever this event is about. |
Kind | Choice | The kind of component to look for on the way up. |
Parent Of GameObjectParent
The immediate parent of an object -- one level up. An object at the top of its hierarchy (no parent) resolves to nothing.
| Field | Type | What it does |
|---|---|---|
Of | Object (resolved) | Which object to find the parent of. Defaults to whatever this event is about. |
Scene Root Of GameObjectSceneRoot
The top-most ancestor of an object -- the root of its transform hierarchy. An object with no parent resolves to itself.
| Field | Type | What it does |
|---|---|---|
Of | Object (resolved) | Which object to find the scene root of. Defaults to whatever this event is about. |
Value
Object GameObjectConstant
A specific object, dragged in. What every parameter used to be.
| Field | Type | What it does |
|---|---|---|
Value | Object |
World
By Name GameObjectByName
An object anywhere in the scene, found by its exact name. Searches the whole loaded scene on every resolve -- fine for an occasional lookup, expensive on a condition polled every frame.
| Field | Type | What it does |
|---|---|---|
Object Name | Text | Exact object name to search for, anywhere in the loaded scenes. |
By Tag GameObjectByTag
The first object in the scene wearing a tag. A tag not yet defined in this project resolves to nothing with one warning, rather than erroring.
| Field | Type | What it does |
|---|---|---|
Tag | Text | Tag to search for, anywhere in the loaded scenes. |
Number parameters (3)
Character
Stat Value NumberStat
A stat read off a character -- current value, maximum, or current as a fraction of maximum.
| Field | Type | What it does |
|---|---|---|
Of | Object (resolved) | Which character to read the stat from. |
Stat | StatDefinition | The stat definition to read. A stat the character does not have reads as zero. |
Read | Choice | Current value, maximum, or current as a fraction of maximum. |
Value
Number NumberConstant
A number, typed in.
| Field | Type | What it does |
|---|---|---|
Value | Number |
World
Distance NumberDistance
How far apart two objects are, optionally ignoring height so it measures on the ground plane.
| Field | Type | What it does |
|---|---|---|
From | Object (resolved) | One end of the measurement. |
To | Object (resolved) | The other end. |
Ignore Height | On/off | Ignore height, measuring on the ground plane only -- usually what a proximity rule means. |
Text parameters (2)
Value
Text StringConstant
Text, typed in.
| Field | Type | What it does |
|---|---|---|
Value | Text |
World
Object Name StringObjectName
The name of an object -- so a message can say who it is about instead of being generic. Reading a name allocates, so use it in messages rather than in conditions that run every frame.
| Field | Type | What it does |
|---|---|---|
Of | Object (resolved) | Whose name to use. Defaults to whatever this event is about. |
On/off parameters (2)
Logic
Condition BoolCondition
Whatever a condition currently says, optionally inverted. This makes every condition in the library available to every on-off parameter.
| Field | Type | What it does |
|---|---|---|
Condition | Condition | The condition to read. Unassigned reads as off. |
Invert | On/off | Tick to invert -- read as on while the condition does NOT hold. |
Value
On/Off BoolConstant
A fixed on or off.
| Field | Type | What it does |
|---|---|---|
Value | On/off |
Position parameters (2)
Value
Position PositionConstant
A fixed point in the world.
| Field | Type | What it does |
|---|---|---|
Value | Position |
World
Position Of PositionOf
Where an object is, plus an optional offset that can follow the object's own axes.
| Field | Type | What it does |
|---|---|---|
Of | Object (resolved) | Whose position to use. Defaults to whatever this event is about. |
Offset | Position | Added to that position. |
Offset Is Local | On/off | Tick to read the offset in the object's own axes, so 'forward' follows it as it turns. |