Logic graph
The logic graph shows World logic rules as nodes and wires, like Unreal Blueprints. It is not a new format. It is the same data as the World logic panel, viewed in a different shape. An edit on either side is reflected on the other immediately.
Each rule is one row from left to right. Exec pins connect in the order event → (filters) → conditions → actions.
How to open
Section titled “How to open”| What | Where |
|---|---|
| Logic graph | Tools › Logic graph (the Logic graph tab in the bottom dock area. You can also turn it on from the Window menu) |
| Add a node | Right-click an empty spot in the graph · Node on the toolbar |
Quick start
Section titled “Quick start”Create an “on zone enter: sound” rule in the graph.
- Right-click an empty spot in the graph. The Add node window opens.
- Type
구역in the search box and select On zone enter (event). A new rule is created. - In the Zones field of the event node, pick a trigger zone actor.
- Drag the white exec pin on the right of the event node to an empty spot.
- In the window that opens, select Sound (action). It is connected after the event.
- Fill in the Sound field of the sound node.
- Check that the check summary on the right of the toolbar says Check passed.
| Node | Header color | Meaning |
|---|---|---|
| Event | Red | The rule’s trigger. The start of the chain. The header has a rule enable button. |
| Filters | Ochre | Once · once per player · cooldown · permission. Always comes right after the event. |
| Condition | Green | Goes on to the next node if true. |
| Action | Blue (color per category) | What the rule does. |
| Wait | Dark blue | The wait action. The seconds field is inside the node. |
| Actor reference | Purple | A single scene actor. Wire it into a field to use that actor. |
| Not connected | Gray | A node not attached to any rule. It is not saved. |
Since 0.9.7: Condition and action node headers have a different color per category (zone orange · flow navy · variable/function teal · world greenish · screen blue · actor purplish · collision brown · block ochre · combat reddish). Conditions use these colors blended with green.
Nodes with errors have a red border; nodes with warnings have a yellow border. Hover over the mark in the header to see the details.
Each rule is enclosed by a comment frame (Rule frames). The frame header shows the rule name and one-line description. Dragging the frame moves the whole rule.
Pins and wires
Section titled “Pins and wires”| Pin | Shape | Connects | Count |
|---|---|---|---|
| Exec pin | White pentagon arrow | Execution order (event → condition → action) | One outgoing wire |
| Function pin | Yellow diamond | An action that calls a function → a Function event | One wire per pin |
| Data pin | Purple circle | Actor reference → actor field | One can connect to several fields |
| Signal pin | Yellow diamond | Send signal action → On signal event | All receiving rules (broadcast) |
Connected pins are drawn filled; empty pins are drawn as outlines only. Function and signal wires are drawn dashed.
Exec pins
Section titled “Exec pins”- Dragging an exec pin onto another node removes that node from its current place and inserts it right after. Nodes from other rules are moved too.
- Conditions can only follow an event, filters or another condition. They cannot come after an action.
- Nothing can be connected in front of an event node.
- Dropping an exec pin on an empty spot opens the Add node window in Connects after this mode. Only conditions and actions are listed.
- Dragging off the incoming end of a wire removes that node from the chain. The following node is connected to the preceding node. The removed node becomes Not connected.
Function pins
Section titled “Function pins”Since 0.9.11: Each yellow function pin holds one function. Execution is serial, not parallel.
| Action | Pin location |
|---|---|
| Call function · Repeat · For each player | One pin on the Function field row |
| Branch (if) | One pin each on the If true and If false field rows |
| In order (sequence) | A pin per step (1 · 2 · …) + a Connect next step pin |
- Dragging a pin onto a Function event node fills that function’s name into the field.
- Connecting an already connected pin again replaces the connection. No extra wire is added.
- Connecting to the Connect next step pin adds one step. Steps run in number order.
- Dropping a pin on an empty spot creates and connects a new Function rule (named
func_1,func_2…). - Two or more function rules with the same name are a check error, because one pin would branch two ways.
- Writing several functions in one call field is a check error. To call several functions in turn, use In order (sequence).
Functions and the actions that call them are covered in detail in Variables, functions and data types.
Signal pins
Section titled “Signal pins”- Dragging the pin of a Send signal action onto an On signal event makes the signal names match.
- Signals are broadcast. They go to every rule that receives the same name. Each receiving rule filters with its own conditions.
- The action node shows Receiving rules N or No receiving rules.
- Dropping the pin on an empty spot creates and connects a new On signal rule.
Data pins
Section titled “Data pins”- Dragging the purple pin of an actor reference node onto a node’s actor field sets that field to that actor.
- If the field does not accept that type of actor, it is not connected and the reason is shown.
- Dragging a field’s purple pin to an empty spot opens an Add node window with only actor references.
- Disconnecting the wire clears that field.
Add node window
Section titled “Add node window”Open it by right-clicking an empty spot or with the Node button. The search box searches by name, type and group.
| Group | When selected |
|---|---|
| Event · … | Creates a new rule. |
| Condition · … / Action · … | Places a node. If the window was opened from an exec pin, it is connected after it; otherwise it becomes a Not connected node. |
| Rule › Filter (once · cooldown · permission) | Shows the filter node of the selected rule. |
| Actor reference | Connects that actor to the matching actor field of the selected node. |
You can also pick triggers that can only be fired manually in this window. Test them with Fire in Play.
Delete · duplicate · copy
Section titled “Delete · duplicate · copy”| Target | Delete | Ctrl+D |
|---|---|---|
| Event | Deletes the whole rule | Duplicates the whole rule (name + ” copy”) |
| Condition · Action | Removes only that node | Copy right after it |
| Filters | Resets filters to defaults and hides them | — |
| Actor reference | Clears the fields that use that actor | — |
| Not connected node | Simply deletes it | — |
Since 0.9.7: Copy and paste nodes with Ctrl+C · Ctrl+V. Selecting an event copies the whole rule. You can paste after the selected node, into another rule or into another world.
Breakpoints and execution highlight
Section titled “Breakpoints and execution highlight”Since 0.9.7: Breakpoints and execution highlighting were added.
- Select an action node (including Wait) and press F9. A red dot appears in the header.
- Start Play.
- When the rule reaches that action, Play pauses and a notification appears.
- Resume (Pause or the Paused button) to continue from that action.
- You cannot set breakpoints on condition or event nodes.
- Nodes executed during Play briefly light up with a green border.
- Breakpoints are editor-only. The server ignores them.
Options
Section titled “Options”Toolbar buttons and checkboxes.
| Item | Default | Meaning |
|---|---|---|
| Node | — | Opens the Add node window (same as right-click). |
| Auto layout | — | Clears saved node positions and lays out each rule in one row. |
| Breakpoint | — | Toggles the breakpoint on the selected action node (F9). |
| Frame all | — | Fits the view so all nodes are visible. |
| Show selected rule | — | Goes to the rule selected in the World logic list. |
| Sync with list | On | Selecting a rule in the list moves the graph to it, and selecting a node in the graph also selects its rule in the list. |
| Rule frames | On | Shows a comment frame per rule. |
| Actor nodes | On | Shows an actor reference node for each actor field. |
| Snap to grid | On | Snaps nodes to a 16-unit grid. |
| Minimap | On | The minimap at the bottom right. Hidden when the graph area is short. |
| Zoom | — | Shows the current zoom. 25%–200%. |
Positions of dragged nodes are saved in the rule data (the _graph field, editor-only). Nodes without a saved position are laid out automatically.
Shortcuts
Section titled “Shortcuts”| Key | Action |
|---|---|
| Right-click (empty spot) | Add node window |
| Delete | Delete the selected nodes |
| Ctrl+D | Duplicate the selected nodes |
| Ctrl+C · Ctrl+V | Copy · paste |
| F9 | Toggle breakpoint (when the graph has focus) |
| Ctrl+mouse wheel | Zoom in · out |
| Mouse wheel | Pan the graph |
| Ctrl+Z | Undo (all graph edits) |
Tips / notes
Section titled “Tips / notes”- Not connected nodes are not saved. They disappear when you reopen the world. Connect them to a rule chain’s exec pin.
- Filter nodes are hidden when the filters are at their defaults. Show them with Add node › Filter.
- Filters are not used in function rules. Use conditions.
- Fields inside a node are the same controls as in the World logic panel. Instead of check messages below the field, problems are shown by the field name color and the node border.