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
ProgressionTreeManagercomponent - 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.
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
- Enter Play Mode
- Open Debug Window
- Award 100 points
- Expand first skill in path
- Click "Unlock"
- Verify dependent skills become unlockable
Latest Mode Pool Testing
- Select any tree in the Debug Window
- Click "Refresh Pool (3)" to generate a pool with 3 skills
- Click "Preview Pool" to see the selected skills in Console
- Award points and unlock/max out a skill from the pool
- Click "Refresh Pool (3)" again
- Click "Preview Pool" - verify new skills appeared based on progression
- (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
- Unlock several skills in the tree
- Note current available points
- Click "Respec Tree"
- Verify all non-Root skills are locked
- Verify points were refunded correctly
- Verify Root skills remained unlocked
Integration with Game Creator
- Set up skills with Game Creator Instructions
- Open Console window alongside Debug Window
- Unlock a skill using the Debug Window
- Verify Instructions executed (check Console logs)
- 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.