All releases
Cairn engine2026.10.2828 Oct 2026

Scenes inside scenes

Any scene can be placed inside another, many times, and every copy follows it. New projects and sample copies ask where they go and can start as Git repositories, the history names what changed, and the hierarchy shows which entities have scripts.

What's new

Scenes inside scenes

  • Any scene can be placed inside another, as many times as you like, and each copy works like an entity. Make a fence, an enemy or a pause menu once as a scene of its own, place it wherever it goes, and change it in its own scene: every copy follows, apart from what a copy changed for itself, such as its position or price.
  • Place a scene by dragging it into the viewport, from its menu in the Assets panel, or from Place Scene in the hierarchy, which has a search box.
  • Open on a copy's inspector card opens the scene it came from, and the viewport shows the way back, such as Main > Coin.
  • A scene with several top entities is placed under one entity named after it.
  • A scene with no sun or sky gets a light of the editor's while you edit it, so a part made to be placed is not drawn black.
  • Prefabs are these scenes now. The editor renames old .cairnprefab files when it opens their project, keeping every ID and reference.
  • Scripts place copies with Scene.Instantiate, and entity.Instance says which scene an entity was placed from.
  • Zombie Survival's barricade is now one scene placed in three doorways, each copy with its own section and price, and its pause menu is a scene of its own. See Placing scenes.

New projects

  • New projects can start as Git repositories. The new project form has Make it a Git repository, ticked by default. The project gets git init, a .gitignore that leaves out what the editor makes again, and a README.md with the Cairn name on top, the game's name and how to open it. Nothing is committed for you.
  • A sample copy goes where you say. Open a copy on a sample opens the same form with the sample's name filled in, so you choose its name, its folder and Git before anything is copied. See The project hub.

Editor

  • Game UI switch. The viewport can hide the game's UI while you edit, so a HUD or a menu does not cover the level.
  • History that says what changed. Each step names its entity and what changed on it: "Create Coin", "Edit Coin: position, scale", "Edit Coin: added Rigidbody, added Box Collider", "Move Coin under Map".
  • Colliders you can see while sizing them. The selected entity's colliders are outlined even with the Colliders view off.
  • Scripts in the hierarchy. A row whose entity has a script shows a script icon. Click it to open the script in your code editor, or pick one from a menu when there are several.
  • Search in Add component. Type part of a name and press Enter to add the first match.
  • The name is the logo. Cairn has no picture logo any more, only its name, in the editor, the hub, the app icon, web games' loading screen and the docs.

Scripting and commands

  • Game.Quit() ends a game from a script: a built game closes, and in the editor play mode stops.
  • One command changes every copy of a placed scene: entity.update with "file" changes that scene's file without opening it, and copies in the open scene follow at once. scene.place, scene.uses and entity.save_as_scene are new, and the old prefab commands still work.
  • project.create takes "git": true to make the new project a Git repository.

Fixed

  • An entity kept from a list, such as the result of Scene.FindByTag or an entity's Children, could stop working at a random moment once the list was freed. Lists of entities are proper Lua tables now.
  • The eye on a hierarchy row switches its entity off and on again. A click on it was lost.
  • The More menu on a project card in the hub opens again, so a project can be taken off the list.
  • Files taken out of a sample no longer linger in the copy that ships beside the editor. A copy of Zombie Survival held its old prefab files beside the new scenes and would not open.

Known issues

  • Coming back from a placed scene opens the level again from its file, so its undo history starts over.
  • Making a project a Git repository needs Git installed. Without it the project is still made, with its .gitignore and README, and the console says git init was not run.