Thank you to everyone who has been helping test Phaser 4. As we've worked through both your findings and our own tests we identified some further issues that needed resolving, to ensure it's as stable as it can possibly be. On that front, we bring you Release Candidate 2. This version resolves all reported issues so far and will likely form the final build.

Here are the changes in this version:

New Features

  • RenderConfig#renderNodes allows you to add render nodes at game boot.
  • ShaderQuadConfig#initialUniforms lets you initialize a Shader with uniforms on creation.
  • Shader#setUniform(name, value) lets you set shader program uniforms just once, instead of putting them all into the setupUniforms() method, where some uniforms might be set redundantly after init. This wraps Shader#renderNode.programManager.setUniform.

Changes

  • TextureManager#addDynamicTexture now has forceEven parameter.

Fixes

  • Fix parent transform on filtered objects (e.g. masks inside containers).
  • Fix camera shake.
  • Add typedefs for the { internal, external } structure of Camera#filters (and GameObject#filters).
  • Fix FilterList#addMask docs.
  • In Layer and Container objects, use that object's children for the displayList passed to RenderWebGLSteps.
  • Fix positioning of Group members and offset objects in DynamicTexture#draw.
  • Fix Shadow filter direction.

You can test v4 RC2 now in the Phaser Sandbox, or download it from GitHub or npm using the beta tag.

If you do find any bugs, please report them on GitHub.

Download Phaser v4 RC2