The Two-Graph Editor
One UCrimsonSkillTree asset, two independent UEdGraphs (editor-only). The Logic Graph is the source of truth for gameplay; the Visual Graph is the source of truth for player-facing layout. They share one Details panel and one Validation panel.
| Mode | Owns | Has wires? |
|---|---|---|
| Logic | Skills, dependencies, sub-nodes (conditions/events/costs) | Yes - parent->child |
| Visual | Layout, per-node widget overrides, decorations, spline control points | No - layout-only |
Mirror-on-create
The Visual graph mirrors Logic Skills 1:1 by FGuid. The mapping is one-directional after creation:
| Event | Effect |
|---|---|
| Add Logic Skill | A Visual mirror auto-spawns at the same position |
| Move Logic Skill | Mirror does not move (use Reset Visual Layout from Logic to re-snap) |
| Move Visual Skill | Logic position is unaffected - layout is independent |
| Delete Logic Skill | Mirror is cascade-deleted |
Live preview is safe
Each Visual mirror renders a real
UCrimsonSkillTreeWidget_Node with bIsEditorPreview = true, so it skips owning-player paths (input, manager RPCs) and renders without a runtime context.Toolbar commands
| Command | What it does |
|---|---|
| Save (Ctrl+S) | Run the compile pipeline, then write to disk |
| Compile | Run the compile pipeline + auto-run validators (no disk write) |
| Validate Graph | Run all 9 validators; results in the Validation panel |
| Zoom to Fit | Frame every node in the active graph |
| Reset Visual Layout from Logic | One-shot copy of logic positions into matching visual mirrors |
| Toggle Ghost Wires | Faint wires in the Visual graph mirroring logic topology (default off) |