Skip to content

Introduction

Solidion is a custom renderer for Phaser 3 built on SolidJS’s universal renderer. It lets you build Phaser games using declarative JSX with fine-grained reactivity.

  • No Virtual DOM — SolidJS directly manipulates Phaser GameObjects, just like it does with DOM elements
  • Fine-Grained Reactivity — Only the properties that change get updated, no diffing overhead
  • Familiar DX — If you know SolidJS and Phaser, you already know Solidion
  • Progressive Disclosure — Start with simple JSX, go deeper when you need to

Solidion follows a layered architecture:

LayerWhatExample
L0JSX primitives<sprite>, <text>, <rectangle>
L1Hooks & BehaviorsuseTween(), useSpring(), <SpringBehavior>
L2ResourcesScene-aware async loading
L3FramePer-frame update loop
L4Raw PhaserDirect Phaser API access