v3-to-v4-migration

Migrates Phaser 3 game code to Phaser 4 APIs and breaking changes.

Updated Jul 13, 2026
One-click install
npx skills add https://github.com/russellmorgan/UnderConstruction --skill v3-to-v4-migration-russellmorgan
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: v3-to-v4-migration
Source: https://github.com/russellmorgan/UnderConstruction/tree/main/.claude/skills/v3-to-v4-migration
Command: npx skills add https://github.com/russellmorgan/UnderConstruction --skill v3-to-v4-migration-russellmorgan

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Upgrading a Phaser 3 project to Phaser 4 involves dozens of breaking changes across the renderer, FX system, tint, cameras, textures, shaders, and removed APIs, and missing any one of them produces subtle runtime bugs or broken builds. ## Core Features & Use Cases - Complete breaking-change reference: Covers pipelines-to-render-nodes, FX/masks to filters, the new tint system, camera matrix changes, GL texture orientation, DynamicTexture render() calls, Shader API rewrites, and removed game objects. - Code conversion examples: Provides before/after snippets for common migrations such as setTintFill to setTintMode, BitmapMask to the Mask filter, and setPipeline('Light2D') to setLighting(true). - Migration checklist: A 26-item checklist to track progress through an upgrade. - Use Case: A developer upgrading a Phaser 3 browser game to Phaser 4 asks which APIs changed; the skill walks them through replacing Geom.Point with Vector2, updating Math.TAU usage, and re-compressing textures for the new Y-axis orientation. ## Quick Start Use the v3-to-v4-migration skill to review my Phaser 3 project and list every breaking change I need to fix for Phaser 4.

Frequently Asked Questions about v3-to-v4-migration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate a Phaser 3 project to Phaser 4?▼

Update to phaser@4, then work through the breaking changes: replace custom pipelines with render nodes, convert BitmapMask to the Mask filter, swap setTintFill for setTint with setTintMode, and replace Geom.Point with Vector2. A 26-item checklist tracks the full migration.

What replaced Phaser 3 pipelines in Phaser 4?▼

The v3 Pipeline system was replaced by the RenderNode architecture, where each node handles a single rendering task. Custom WebGL pipelines must be rewritten as render nodes and registered via RenderConfig#renderNodes at boot.

Does Phaser 4 still support BitmapMask and the FX system?▼

No, BitmapMask was removed and FX were unified into the Filter system with internal and external filter lists. Use sprite.filters.internal.addMask(maskObject) instead of BitmapMask; GeometryMask remains available in Canvas only.

Why did my Phaser 4 code using Math.TAU break after upgrading?▼

Math.TAU changed value from PI / 2 in v3 to PI * 2 in v4, and Math.PI2 was removed. Replace old TAU usage expecting PI / 2 with the new Math.PI_OVER_2 constant, and replace PI2 with TAU.

What are the limitations when upgrading custom shaders to Phaser 4?▼

Shader game objects now take a ShaderQuadConfig object, Shadertoy-style uniforms are no longer set automatically, and texture coordinates use GL orientation with Y=0 at the bottom. Compressed textures must be re-compressed with flipped Y.