Skip to main content

Game Event Node Editor

The Node Editor is a visual orchestration tool that solves the "spaghetti code" problem by displaying complex event dependencies in a single, readable graph.

Instead of hunting through scattered scripts to understand why an event fired, you simply look at the flow graph.

Flow Graph Editor Overview


🎯 Design Philosophy​

Traditional Unity events are "fire and forget"β€”great for decoupling, but terrible for debugging sequences.

The Flow Graph introduces two powerful execution patterns:

PatternExecutionBehaviorUse Case
Trigger (Fan-Out)ParallelNon-blocking. One event fires multiple others simultaneously"OnPlayerDeath" β†’ Play Sound + Spawn Particles + Show UI
Chain (Sequence)SerialBlocking. Events fire one after another with delays"StartCutscene" β†’ (Wait 2s) β†’ "ShowDialog" β†’ (Wait Input) β†’ "EndCutscene"

🎯 Triggers (Fan-Out)

Flow Graph Editor Overview

⛓️ Chains (Sequential)

Flow Graph Editor Overview

By combining these patterns, you build logic that is both decoupled and structured.


πŸš€ Opening the Editor​

Access the Flow Graph Editor from the Game Event Editor

Game Event Editor β†’ Click "Flow Graph" button in toolbar

This ensures you're working within the correct event library context.


πŸ› οΈ Toolbar Overview​

The toolbar manages flow graph assets and global settings.

Flow Graph Editor Overview

Flow Asset Dropdown​

Switch between different Flow Graph assets (e.g., Global_Flow, Level_1_Flow).

Graph content updates instantly when switching.

Asset Organization

Create separate flow graphs for different game systems to keep logic clean and maintainable. Store graphs as sub-assets inside Flow Container assets.

Graph Management​

New Button (+ New): Create new graph in current container.

Graph Name Field: Click to rename current graph.

Delete Button: Remove current graph (with confirmation).

Graph Controls​

Snap Button (Snap): Toggle grid snapping. When enabled, nodes will automatically snap to the 20-unit grid lines during movement, ensuring a perfectly organized layout.

Align Button (Align): Toggle smart alignment guides. When enabled, blue vertical or horizontal dotted lines appear when the node you are dragging aligns its edges (left, center, right) or midlines (top, center, bottom) with other nodes on the canvas.

Active Toggle (🟒 / πŸ”΄): Enable/disable entire graph at runtime.

Refresh Button: Reload container list from GameEventManager.

Help Button (? Help): Open Quick Reference Guide with all shortcuts and color codes.

Flow Graph Editor Help


πŸ–±οΈ Canvas Navigation​

The editor features an infinite zoomable canvas designed for large-scale logic graphs.

Basic Controls​

ActionControlDescription
Pan ViewMiddle Mouse DragMove around the canvas
ZoomScroll WheelZoom in/out (centered on mouse cursor)
Context MenuRight ClickAdd nodes or groups
Quick CreateDouble ClickOpen node creation menu on empty canvas

Zoom Range: 0.2x - 3.0x (20% to 300%)

Grid: Minor lines every 20 units, major lines every 100 units. When Snap is enabled, nodes lock to the 20-unit minor grid lines.


🎯 Working with Nodes​

Creating Nodes​

Flow Graph Editor Overview

ActionControlDescription
Quick CreateDouble Click CanvasOpen node creation menu
Context MenuRight Click β†’ Add NodeCreate Trigger or Chain node
From SelectionRight Click NodeContext menu for node operations

Node Types:

  • Trigger Node: Parallel execution (fan-out pattern)
  • Chain Node: Sequential execution (sequence pattern)

Node Selection​

ActionControlDescription
Select NodeLeft ClickSelect individual node
Add to SelectionCtrl/Shift + ClickToggle node in/out of selection
Box SelectLeft Click + DragSelect all nodes in rectangle
Select AllCtrl + ASelect all nodes in graph
Clear SelectionEscapeDeselect everything
Edit NodeDouble Click NodeOpen Node Behavior Configuration

Moving Nodes​

ActionControlDescription
Move NodeLeft DragMove selected node
Multi-MoveLeft Drag (with selection)Move all selected nodes together

Group Behavior: When nodes belong to a group, moving them automatically updates the group bounds.

Layout Assistants:

  • Grid Snapping: When Snap is active, movement is locked to 20-pixel increments, matching the background grid.
  • Smart Alignment: When Align is active, the editor provides visual feedback via blue dotted lines. It automatically detects alignment for:
    • Vertical: Left edges, horizontal centers, and right edges.
    • Horizontal: Top edges, vertical centers, and bottom edges.

Node Context Menu​

Flow Graph Editor Overview

Right-click on a node for quick actions:

  • Edit Node: Open Behavior Configuration Window
  • Copy Node: Copy to clipboard
  • Cut Node: Copy and delete
  • Delete Node: Remove node and all connections
  • Set as Root: Mark as graph entry point
  • Convert to Trigger/Chain: Change node type

Multi-Selection Context Menu​

Flow Graph Editor Overview

When multiple nodes are selected, right-click shows:

  • Copy N Node(s): Copy selection to clipboard
  • Cut N Node(s): Copy and delete selection
  • Delete N Node(s): Remove all selected nodes
  • Create Group: Create group from selected nodes (minimum 2 nodes required)

πŸ”— Creating Connections​

Connections define event flow between nodes.

Connection Operations​

ActionControlDescription
Create ConnectionDrag from Output Port (right)Drag to Input Port (left) of another node
Re-route ConnectionDrag from Input PortDisconnect and connect to different node
Delete ConnectionSelect + DeleteRemove connection

Visual Feedback:

  • Preview line shows while dragging
  • Color indicates compatibility (see Connection Types)
  • Invalid targets show as grayed out

Connection Rules:

  • Always drag from Output (right port) to Input (left port)
  • Root nodes have no input port
  • Nodes can have multiple incoming and outgoing connections

πŸ“ Grouping System​

Organize large graphs with visual groups to improve readability and maintainability.

Flow Graph Groups

Creating Groups​

Method 1: Select nodes β†’ Right Click β†’ Create Group

Method 2: Use box select β†’ Right Click selection β†’ Create Group

Requirements:

  • Minimum 2 nodes required
  • Selected nodes will be grouped together
  • Group bounds calculated automatically from node positions

Managing Groups​

OperationHow ToResult
RenameDouble-click group titleEnter edit mode (Escape to cancel)
Select GroupLeft Click group areaSelect entire group
Move GroupDrag group areaMoves all member nodes together
Delete Group OnlyDelete keyRemoves group frame, keeps nodes
Delete Group + NodesShift + DeleteRemoves group AND all nodes inside

Visual Indicators:

  • Selected groups: Brighter border + highlighted title
  • Group titles: Display in bottom-right corner of group bounds
  • Group bounds: Semi-transparent rounded rectangle

Group Membership​

Adding Nodes to Group:

  1. Select existing group + nodes you want to add
  2. Right Click β†’ Create Group
  3. All selected nodes will be included in the new group
  4. Old group is removed, new group is created

Removing Nodes from Group:

  • Delete the specific node from the group
  • Group automatically removes the node from its membership
  • If group has ≀1 node remaining, group is automatically deleted

Constraints:

  • One Group Per Node: Each node can only belong to one group at a time
  • Auto-Cleanup: Groups with ≀1 nodes are automatically removed
  • Dynamic Bounds: Groups resize automatically when member nodes move

Group Context Menu​

Flow Graph Editor Overview

Right-click on a group:

  • Rename Group: Enter rename mode
  • Copy Group: Copy entire group structure (nodes + internal connections)
  • Delete Group (Keep Nodes): Remove group frame only
  • Delete Group + Nodes: Remove everything

πŸ“‹ Copy & Paste System​

Duplicate nodes and groups to speed up workflow.

Node Copy & Paste​

ActionControlDescription
Copy Node(s)Ctrl + CCopy selected node(s) to clipboard
Cut Node(s)Ctrl + XCut selected node(s) (copy + delete)
Paste Node(s)Ctrl + VPaste with incremental offset
Reset PasteEscapeReset paste counter for next operation

Paste Behavior:

  • Press Escape to reset offset counter
  • Connections between pasted nodes are preserved
  • Pasted nodes are never set as root

Group Copy & Paste​

ActionControlDescription
Copy GroupCtrl + CCopy entire group structure
Paste GroupCtrl + VPaste group with 50px offset

What's Copied:

  • Group frame and title (with " (Copy)" suffix)
  • All member nodes with their configurations
  • Internal connections (connections between group members)
  • Relative node positions

What's NOT Copied:

  • External connections (connections to/from outside nodes)
  • Root node status
  • Node IDs (new IDs generated automatically)
Copy Strategy

Right-click menu shows "Copy Group" option for quick access. Both Ctrl+C and right-click menu work identically. Use groups as templates for repeated logic patterns.


⌨️ Keyboard Shortcuts​

Copy & Paste​

ShortcutAction
Ctrl + CCopy selected node(s) or group
Ctrl + VPaste with incremental offset
Ctrl + XCut selected node(s) (copy + delete)

Undo/Redo​

ShortcutAction
Ctrl + ZUndo (up to 50 steps)
Ctrl + Shift + Z / Ctrl + YRedo

History Scope: Tracks node creation/deletion, connections, group changes, position changes, copy/paste operations.

Selection​

ShortcutAction
Ctrl + ASelect all nodes
EscapeClear selection / Cancel operation / Reset paste counter

Deletion​

ShortcutAction
DeleteDelete selected items
Shift + DeleteCascade Delete: Delete group AND all nodes inside

Delete Behavior:

  • Deleting a node: Removes all connected connections and updates group membership
  • Deleting a group (Delete): Keeps member nodes
  • Deleting a group (Shift + Delete): Removes group and all member nodes
  • Deleting a connection: Removes link only
  • Groups with ≀1 remaining nodes are automatically deleted

🎨 Context Menu Reference​

On Empty Space​

  • Add Trigger Node: Create new trigger node at cursor position
  • Add Chain Node: Create new chain node at cursor position
  • Paste Node(s): (if clipboard has nodes) Shows paste count
  • Paste Group: (if clipboard has group) Shows group name

On Single Node​

  • Edit Node: Open Behavior Configuration Window
  • Copy Node: Copy to clipboard
  • Cut Node: Copy and delete
  • Delete Node: Remove node and connections
  • Set as Root: Mark as graph entry point
  • Convert to Trigger/Chain: Change node type

On Multiple Nodes (Selection)​

  • Copy N Node(s): Copy selection to clipboard
  • Cut N Node(s): Copy and delete selection
  • Delete N Nodes: Remove all selected
  • Create Group: Group selection (minimum 2 nodes)

On Group​

  • Rename Group: Enter rename mode
  • Copy Group: Copy entire group structure
  • Delete Group (Keep Nodes): Remove group frame only
  • Delete Group + Nodes: Remove group and all member nodes

πŸ“Š Status Bar​

Real-time information displayed at bottom of canvas:

  • Current zoom level (e.g., Zoom: 1.2x)
  • Node count (e.g., Nodes: 15)
  • Connection count (e.g., Connections: 23)
  • Selection info (e.g., Selected: 3 node(s), 1 group(s))
  • Undo/Redo stack depth

πŸŽ“ Workflow Examples​

Example 1: Build a Player Death Sequence​

Flow Graph Groups

Goal: Create a death sequence with parallel effects and sequential menu transition.

Step 1: Create Root Node

  1. Double-click canvas β†’ Select "Add Trigger Node"
  2. Choose OnPlayerDeath event
  3. Right-click node β†’ "Set as Root"

Step 2: Add Parallel Actions (Trigger Pattern)

  1. Create 3 Trigger nodes: PlayDeathSound, SpawnParticles, ShowGameOverUI
  2. Drag from Root output β†’ Connect to all 3 nodes (fan-out)

Step 3: Add Sequential Actions (Chain Pattern)

  1. Create Chain node: FadeToBlack
  2. Double-click β†’ Set delay: 2 seconds
  3. Create Chain node: ReturnToMenu
  4. Connect FadeToBlack β†’ ReturnToMenu
  5. Connect OnPlayerDeath β†’ FadeToBlack

Step 4: Organize with Groups

  1. Box select all death-related nodes
  2. Right-click β†’ "Create Group"
  3. Double-click group title β†’ Rename to "Death Sequence"

Result: Clean visual representation of parallel sound/VFX execution followed by sequential menu transition.


❓ Troubleshooting​

Changes Not Saving​

Cause: Unity hasn't serialized changes yet.

Solution:

  • Close window to force save
  • Switch to another graph and back
  • Press Ctrl+S in Unity

Graph Appears Empty​

Possible Causes:

  • Wrong graph selected in toolbar dropdown
  • Flow container not assigned in GameEventManager

Solution:

  • Check toolbar graph dropdown selection
  • Verify container assignment in GameEventManager Inspector

Cannot Create Connection​

Possible Causes:

  • Dragging from Input to Output (reversed direction)
  • Trying to connect to Root node's input port
  • Connection already exists

Solution:

  • Always drag from Output (right) to Input (left)
  • Root nodes have no input port

Group Not Auto-Resizing​

Cause: Group bounds only update when member nodes are moved.

Solution: Move any member node slightly to trigger bounds recalculation.


Pasted Group Missing External Connections​

Expected Behavior: Only internal connections (between group members) are copied.

Explanation: External connections to nodes outside the group are intentionally not copied to allow flexible reuse of group templates.

Solution: Manually reconnect external dependencies after pasting group.


Cannot Create Group​

Possible Causes:

  • Less than 2 nodes selected
  • Trying to group already grouped nodes

Solution:

  • Select at least 2 nodes
  • To regroup, delete old group first or select both group and new nodes to create new group

πŸ“– Next Steps​

Now that you understand canvas navigation and organization, continue your journey:

πŸ”— Connection Types & Compatibility

Core Concept: Understand port colors, line types, and type compatibility rules.

βš™οΈ Node Behavior Configuration

Logic Control: Configure delays, conditions, and execution settings.

🧩 Advanced Patterns

Expert Level: Build complex event orchestrations with combined patterns.


Pro Workflow Tips

Organize Early: Create groups as you build to avoid messy graphs later.

Use Undo Freely: Ctrl+Z tracks up to 50 stepsβ€”experiment with connections without fear.

Build Templates: Create reusable group templates for common patterns.

Name Descriptively: Clear graph and group names help when switching between systems.

Set Root Nodes: Mark clear entry points for each logical flow sequence.

Copy Smart: Build once, paste many times. Use groups as blueprints.

Quick Reference

Forgot a shortcut? Click the Help button (? Help) in the toolbar to view the complete Quick Reference Guide with all keyboard shortcuts, mouse controls, and visual color legend.