Editor

Play mode

EditorPreview

Editor docs

Play runs your game as it ships: the Game panel loads your project's own, unmodified index.html from its dev server. The editor is a preview.

Play, Pause, Step, Stop#

CommandShortcutWhat it does
Play → Play / StopCtrl+PStarts the game in the Game panel, or stops it.
Play → Pause / ResumeShift+Ctrl+PFreezes the game's clock, or lets it run again.
Play → StepAlt+Ctrl+PAdvances a paused game by one frame.
Play → Detach GameShift+Ctrl+DMoves the game into its own window; Reattach Game closes it.

The Game panel's toolbar has the same controls and shows the run's frame stats. On macOS use ⌘ for Ctrl.

Play controls reach the game through one call your entry file makes, attachEditorPlayControls(app) from virtual:ignifx/editor. The templates already make it. In a production build it is an empty function, so it costs nothing in a shipped game.

Stop ends the game and removes it from the panel; the next Play starts from scratch, which is the simplest way to reset everything the game did.

What playing does not change#

Play never writes to the scene document. Whatever the game does while it runs (entities spawned, values changed by scripts, physics moving things) stays in the play view and is gone when you stop. You can keep editing the scene in the scene view while the game plays; those edits are ordinary edits to the document, and the running game does not see them.

The game loads your project's files, as it would in a browser, not the editor's open document: save the scene before you press Play to play your latest edits.

Logs and errors#

The game's log lines, errors and hot-reload reports appear in the Console marked as coming from play, beside the editor's and the scene view's. An error names its entity, component and phase when the engine knows them, and a file:line link opens your code editor there.

Hot reload while playing#

Save a script in your code editor and the engine's hot reload patches it into the running game and into the scene view, without restarting either.

The detached game window#

Play → Detach Game opens the game in a window of its own, for testing full screen and pointer lock, which the docked Game panel does not allow. The window loads the game afresh, so a detached game restarts. While it is detached, the Play menu's controls are disabled; Reattach Game closes the window and returns the game to the panel.

The scene's camera in edit mode#

While no game is playing, the Game panel shows the open scene through the scene's own camera, while the Scene panel keeps the editor camera. You see what the player will see as you edit, without pressing Play; the panel labels it Scene camera (edit mode).

What it is. A feed of still frames, not a second game. The scene view's host renders the document's camera beside the editor camera and sends each frame to the Game panel as a JPEG, one at a time, at most every 80 ms: about 12 frames a second (measured at 12.4). Scripts do not run in it, as in the scene view, but your edits show as you make them, saved or not. While the host reports no camera it asks once a second, so a camera you add shows up.

When it runs. Only while the Game panel is visible and the scene view has a scene open. While it runs, the editor keeps the scene view rendering at full rate behind the dock, even when the Scene tab is hidden behind Game: a hidden frame gets almost no animation frames, and the feed would drop to a frame every few seconds. That rendering stops when the Game panel is hidden or a run starts.

Around Play.

  • Play turns the feed off as the game starts; the game's own index.html takes the panel, as in Play, Pause, Step, Stop.
  • Pause and Step act on the game, which keeps the panel: a paused game shows its own frozen frame, not the feed.
  • Stop removes the game, and the feed comes back.
  • While the game is detached, the panel shows the detached-game note, not the feed.

Limits.

  • 3D only. A 2D scene, with only a 2D camera, shows No camera in the scene. From engine 0.17.0 the host draws a Camera2D too, and 2D scenes show in the feed.
  • From engine 0.17.0 the host renders the camera on demand, without waiting on the scene view's own frame, so the editor will no longer need to keep the scene view rendering behind the dock. Until an editor update uses it, the editor keeps doing so.
  • The picture is letterboxed to the panel, not cropped to the camera's aspect.
  • Post-processing, 2D sprites and UI are not drawn in it yet.

Preview: the feed's rate was measured in a running editor on 4 November 2026 (12.4 frames a second with the Game tab in front, and again after Stop); nothing on this page was checked on Windows or Linux.