Phaser AE

Renderer (WebGPU or WebGL2)

Free packv3.0.0-32D and 3DRenderers

The renderer every game composes. It tests the device at startup, runs WebGPU where it works and WebGL2 where it does not, from one bundle, and tells the player in plain words when neither can start.

This is a Free pack. Every phaser.io account can use it in their games.

Released October 14, 2026 · updated October 19, 2026

Renderer (WebGPU or WebGL2): a screenshot of its demo
A note about these graphics

Expansion packs don't come with graphics. This screenshot is one way of drawing what the pack does, made for its demo: none of the sprites, tiles or backgrounds in it are in the pack.

That's by design. A pack is a game's logic, mechanics and effects, and it works with whatever art you give it. Some packs draw effects, backdrops or 3D scenes of their own, but none carries a game's sprites.

So the look is yours. Make the art on phaser.io, bring your own, or let your agent draw it in code: the same pack can look like anything.

The pack

renderer

function renderer(options: RendererOptions = {}): Pack<{ renderer: RendererApi; gpu: WebGpuApi; gl: WebGl2Api; preloader: PreloaderApi }>

One composed backend and one game bundle; tests real devices, prefers WebGPU and falls back to WebGL2.

Types

RendererApi

interface RendererApi

Device selection and diagnostics.

  • readonly status: 'pending' | 'testing' | 'ready' | 'unsupported' | 'headless' | 'disposed' — Current startup state.
  • readonly backend: 'webgpu' | 'webgl2' | null — The selected backend, or null before selection/failure/headless.
  • readonly ready: boolean — Whether the selected backend is ready to render.
  • readonly error: string | null — Friendly startup error, if no suitable renderer can start.
  • readonly failures: ReadonlyArray<RendererFailure> — Failed device probes, useful for support diagnostics.
  • prefer(backend: RendererPreference): void — Override selection before game.start(), for a settings screen or backend test.

RendererFailure

interface RendererFailure

Diagnostic retained for an unavailable candidate.

  • backend: 'webgpu' | 'webgl2' — API attempted.
  • reason: string — Technical reason.

RendererOptions

interface RendererOptions

Automatic renderer configuration.

  • backend?: RendererPreference — Prefer WebGPU with WebGL2 fallback, or explicitly select a backend for testing.

RendererPreference

type RendererPreference = 'auto' | 'webgpu' | 'webgl2'

Supported rendering APIs and the default preference order.