We're pleased to announce the release of Phaser 4.0 Release Candidate 6, bringing another round of refinements and bug fixes as we approach the final release.

Texture Wrapping Control

One of the notable additions in RC6 is the new Texture#setWrap() method, which provides straightforward access to WebGL texture wrap modes. This feature will be particularly useful for shader developers who previously had to work directly with WebGLTextureWrapper objects. The implementation intelligently handles wrap mode restrictions—CLAMP_TO_EDGE works universally, while REPEAT and MIRRORED_REPEAT are applied only to power-of-two textures, preventing unexpected wrapping artifacts.

Tilemap Enhancements

The createFromObjects method now includes an optional sortByY parameter for better depth sorting control. Additionally, we've clarified that GPU-accelerated tilemap layers currently support orthographic rendering only, not hexagonal or isometric projections.

Stability Improvements

This release addresses several issues that could affect production games:

  • Gamepad Input: Fixed a bug where button states could incorrectly carry over between scenes, causing phantom button presses
  • Filter System: Multiple fixes ensure filters behave correctly with flipped objects, blend modes now properly isolate between container children, and memory leaks in parallel filters have been eliminated
  • Timeline Events: Resolved a critical bug where multiple once events would break timeline execution
  • Loader Paths: The loader now correctly handles file:// URLs without double-prefixing them

Availability

Phaser 4.0 Release Candidate 6 is available for download now. Community feedback and contributions continue to be valuable for identifying issues and improvements as we work toward the final release.

Grab it from npm using the beta tag:

npm install phaser@beta

Or get the source/dist files from GitHub.

We do not anticipate publishing any further Phaser v4 release candidates, so RC6 should be considered a production-ready version. It will also form the core of the forthcoming Phaser Editor v5 release.

You can experiment with it in the Phaser Sandbox and in the updated Phaser Labs.

Download from GitHub