# Phaser Scene Navigation

> Standardized patterns for Phaser scene transitions, navigation testing, and scene lifecycle management. Use when testing scene transitions, navigating between game scenes, or when scene navigation discovery issues occur. Documents scene transition methods, wait patterns, and console log fallback verification.

- Skill: `pmarashian/phaser-scene-navigation` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add pmarashian/phaser-scene-navigation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/pmarashian/phaser-scene-navigation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: pmarashian (https://skillmd.com/u/pmarashian)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/pmarashian/phaser-scene-navigation

---


# Phaser Scene Navigation

## Overview

Standardize Phaser scene transitions and navigation testing patterns. Improve reliability of scene navigation testing.

## Scene Transition Methods

- `this.scene.start('SceneName', data)` - Start new scene with data
- `this.scene.switch('SceneName')` - Switch to existing scene
- Test seam: `window.__TEST__.commands.clickStartGame()` - Navigate via UI

See `references/transition-methods.md` for detailed transition patterns.

## Navigation Testing

**Use test seam commands when available**:
- `clickStartGame()` - Navigate to game
- `clickPlayAgain()` - Restart game

**Wait patterns**:
- Wait for scene initialization before accessing test seam
- Wait 1-2 seconds after transition before checking test seam
- Use console logs to verify scene transitions

**Don't rely solely on test seam sceneKey** (may lag on transitions)

See `references/navigation-testing.md` for detailed testing patterns.

## Scene Lifecycle

- Test seams are set up in `create()` method
- Each scene creates its own `window.__TEST__` object
- Old scene's test seam may persist briefly after transition
- Wait 1-2 seconds after transition before checking test seam

## Common Navigation Patterns

- **MainMenu → GameScene**: Use `clickStartGame()` test command
- **GameScene → LevelCompleteScene**: Automatic on exit reach
- **GameScene → GameOverScene**: Automatic on timer expire
- **Any scene → MainMenu**: Use `this.scene.start('MainMenu')`

## Resources

- `references/transition-methods.md` - Scene transition methods and data passing
- `references/navigation-testing.md` - Wait patterns, console log verification

