Progression Tree Builder

v1.1.2

Debug Window

Editor tool for testing and debugging progression trees during development. Unlock skills, award points, and manage tree state without writing test code.

Overview

The Progression Tree Debug Window is a powerful editor tool for testing and debugging your progression trees during development. Access it directly from the Unity Editor to unlock skills, award points, and manage tree state without writing test code.

Editor-Only Tool: The Debug Window is only available in Play Mode and does not appear in builds. It's designed specifically for development and testing.

Opening the Debug Window

From Unity Menu

Navigate to Progression Tree Builder > Debug Window

Prerequisites:

  • Unity must be in Play Mode
  • Scene must contain a ProgressionTreeManager component
  • Manager must have at least one tree configured

Interface Overview

Tree Selection

The dropdown shows all trees configured in your ProgressionTreeManager. Select a tree to view and manage its skills.

┌─ Tree Selection ──────────────────┐
│ Tree: [Main Skill Tree      ▼]   │
│                                   │
│ [Refresh Tree List]               │
└───────────────────────────────────┘

Tree Information

Displays current tree status including unlock state, available points, and skill progress.

┌─ Tree Information ────────────────┐
│ Tree ID:          main_skill_tree │
│ Status:           Unlocked         │
│ Root Skills:      2 (auto-unlocked)│
│ Available Points: 15               │
│ Skills:           8 / 20           │
│ Points Spent:     12 / 50          │
└───────────────────────────────────┘

Tree Actions

Quick actions for managing the entire tree and awarding points for testing.

Unlock/Lock Tree

Toggle tree availability. Unlocking automatically unlocks all Root skills. Locking performs a full respec.

💡 Root skills (entry points) are always unlocked automatically when the tree is unlocked.

Respec Tree

Reset all skills to locked state (preserves Root skills). Refunds all points.

Award Points

Instantly award 1, 10, or 100 progression points for quick testing.

Latest Mode (Roguelike) Actions

Test Latest Mode pool generation for roguelike-style progression. These actions work for any tree, regardless of current UIController display mode.

Refresh Pool (3) / Refresh Pool (5)

Recalculate available skills based on current progression state. Numbers indicate how many skills to include in the pool.

Preview Pool

Logs the current pool of available skills with their selection weights to the Console.

Note: Latest Mode display is configured in UIController → Layout Settings. These debug actions work independently of the display mode.

Skill Management

Each skill in the tree displays as an expandable entry with status and quick actions.

┌─ Skills ──────────────────────────┐
│                                   │
│ ▶ Fireball          [LOCKED]     │
│                                   │
│ ▼ Ice Blast         [UNLOCKED]   │
│   ID: ice_blast                   │
│   Type: Passive                   │
│   Rank: 2 / 5                     │
│   Can Unlock: Yes                 │
│                                   │
│   [Upgrade]  [Max Out]            │
│                                   │
└───────────────────────────────────┘

Status Badge

Color-coded indicator showing locked (red) or unlocked (green) state.

LOCKEDUNLOCKED

Skill Actions

  • Unlock: Available only when skill can be unlocked (requirements met, sufficient points)
  • Upgrade: Increases skill rank by 1 (only for unlocked skills)
  • Max Out: Instantly upgrades skill to maximum rank

Can Unlock Check

Displays "Yes" when all requirements are met (dependencies, points, stats). Useful for debugging unlock conditions.

Common Testing Workflows

Quick Unlock Path Testing

  1. Enter Play Mode
  2. Open Debug Window
  3. Award 100 points
  4. Expand first skill in path
  5. Click "Unlock"
  6. Verify dependent skills become unlockable

Latest Mode Pool Testing

  1. Select any tree in the Debug Window
  2. Click "Refresh Pool (3)" to generate a pool with 3 skills
  3. Click "Preview Pool" to see the selected skills in Console
  4. Award points and unlock/max out a skill from the pool
  5. Click "Refresh Pool (3)" again
  6. Click "Preview Pool" - verify new skills appeared based on progression
  7. (Optional) Try "Refresh Pool (5)" for a larger selection

💡 Tip: Latest Mode display in UIController uses the pool generated by these actions. Test pool generation here, then verify display in your actual UI.

Respec Functionality Testing

  1. Unlock several skills in the tree
  2. Note current available points
  3. Click "Respec Tree"
  4. Verify all non-Root skills are locked
  5. Verify points were refunded correctly
  6. Verify Root skills remained unlocked

Integration with Game Creator

  1. Set up skills with Game Creator Instructions
  2. Open Console window alongside Debug Window
  3. Unlock a skill using the Debug Window
  4. Verify Instructions executed (check Console logs)
  5. Check game state changes (stats, inventory, etc.)

Tips & Best Practices

Dock the Window

Dock the Debug Window next to your Game view for quick access while testing. This allows you to see gameplay changes immediately after unlocking skills.

Use with Console

Keep the Console window open to see detailed logs from unlock attempts, Latest Mode pool generation, and Game Creator Instruction execution.

Test Edge Cases

Use "Max Out" to quickly test skills at maximum rank. Use "Respec" repeatedly to verify your refund logic handles all scenarios correctly.

Refresh After Changes

If you modify tree configurations or add new trees while in Play Mode, click "Refresh Tree List" to update the dropdown.

Limitations

Important Notes

  • Only available in Play Mode - window shows warnings otherwise
  • Requires ProgressionTreeManager in the scene
  • Does not persist changes between Play Mode sessions (uses runtime data)
  • Changes made affect PlayerData in memory only (not saved to disk during testing)
  • Does not validate Game Creator stat requirements (assumes they pass)
  • Latest Mode display is configured in UIController, not on trees directly

Troubleshooting

Window shows "Only available in Play Mode"

Enter Play Mode in Unity. The Debug Window requires runtime access to the ProgressionTreeManager.

"ProgressionTreeManager not found"

Ensure your scene has a GameObject with the ProgressionTreeManager component attached.

Add one via: GameObject > Create Empty, then Add Component > Progression Tree Manager

Tree dropdown is empty

Add trees to your ProgressionTreeManager's "Available Trees" list in the Inspector, then click "Refresh Tree List" in the Debug Window.

Unlock button is disabled

The skill cannot be unlocked due to failed requirements. Check:

  • Insufficient progression points
  • Required skills not unlocked yet
  • Stat requirements not met (check "Can Unlock" field)
  • Skill is in a Choice Group with another unlocked skill

Changes don't persist between sessions

This is expected behavior. The Debug Window operates on runtime data only. To persist changes, use the actual save/load system in your game.