> For the complete documentation index, see [llms.txt](https://studio-docs.sandbox.game/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://studio-docs.sandbox.game/the-editor/what-the-ai-puts-in-your-scene.md).

# What the AI puts in your scene

The agent does not drop mystery objects into the viewport. It creates **assets** on disk, **nodes** in the scene, and sometimes **prefabs** that wrap a node tree.

Select what appeared. The Outliner class and the Inspector path fields tell you what it is and which file it uses. The pages below are the setup for each building block.

## Asset, node, prefab

| Piece  | Where it lives                    | What it does                                                                                           |
| ------ | --------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Asset  | Assets panel, under `assets/`     | The file: `.glb`, `.material.json`, `.vfx.json`, `.prefab.json`                                        |
| Node   | Outliner / viewport               | The scene object that **points at** a file, or a primitive with no file (Ground, lights, Player Start) |
| Prefab | `.prefab.json` plus placed copies | A reusable node tree. Edit the source; every copy updates except instance overrides                    |

Two nodes can share one asset. Changing the file updates every node that still points at it.

What those files on disk are (and which ones not to hand-edit): [What JSON files are in Sandbox Studio](/the-editor/what-json-files-are.md).

{% hint style="info" %}
*NOTE: Do not hand-edit `.genesys-scene` files. The editor owns scenes. Ask the agent to change the open scene through Sandbox Studio MCP, or make the change in the Inspector.*
{% endhint %}

## What a new empty scene already has

| Node              | Class                         | Why it is there                                              |
| ----------------- | ----------------------------- | ------------------------------------------------------------ |
| Directional Light | `ENGINE.DirectionalLightNode` | Sun. **Is Sun Light** is on. Aim it by rotating, not moving. |
| Player Start      | `ENGINE.PlayerStart`          | Spawn marker. Not the player.                                |
| Ground            | `ENGINE.MeshNode`             | A primitive box. No `.glb`.                                  |
| Sky               | `ENGINE.SkyNode`              | Procedural sky.                                              |

Everything else the agent adds is one of the blocks below.

## Building blocks

| If you see…                                     | It is…                                                        | Open                                                                                                              |
| ----------------------------------------------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| A `.glb` in the scene                           | A **Model Mesh Node** with `modelUrl`                         | [How to use mesh models and ModelMesh nodes](/the-editor/how-to-use-mesh-models-and-modelmesh.md)                 |
| A box or capsule with no model path             | A **Mesh Node**                                               | Same page                                                                                                         |
| Empty **Model Material** on a `.glb`            | Packed materials from the file. Leave it empty.               | [How to set up materials](/the-editor/how-to-set-up-materials.md)                                                 |
| A `.material.json` on a mesh                    | An **override** in **Model Material**                         | Same page                                                                                                         |
| A request for a “shader”                        | Still a material. There is no Shader asset.                   | Materials page                                                                                                    |
| A `.vfx.json`                                   | A **VFX definition**. Play it with a **VFX Node** (`vfxPath`) | [How to set up VFX](/the-editor/how-to-set-up-vfx.md)                                                             |
| An audio file in the scene                      | A **Sound Node** with `audioPath` on a sound resource         | [How to set up sound](/the-editor/how-to-set-up-sound.md)                                                         |
| View → Show VFX / Grid / Skybox                 | Editor visibility only                                        | [How to Turn On Grid VFX and Skybox](/the-editor/how-to-turn-on-grid-vfx-and-skybox.md)                           |
| The player character                            | A **Pawn** spawned at Player Start from GameMode              | [How to spawn the player and place NPC prefabs](/the-editor/how-to-spawn-the-player-and-place-npc-prefabs.md)     |
| Other characters already in the Outliner        | **Prefab** instances (`prefabPath`)                           | Same page                                                                                                         |
| The same `.glb` stamped around the level        | More **Model Mesh Nodes**, same `modelUrl`                    | [How to kitbash a level from mesh models](/the-editor/how-to-kitbash-a-level-from-mesh-models.md)                 |
| Pawn stuck on art, or AI walking through it     | Physics and `navigationGeometryRole` on the mesh              | [How to set collision and navmesh on mesh models](/the-editor/how-to-set-collision-and-navmesh-on-mesh-models.md) |
| A custom object with Inspector fields you wrote | A **GameClass** (`GAME.ClassName`)                            | [How to register a placeable GameClass](/the-editor/how-to-register-a-placeable-game-class.md)                    |
| The same setup copied many times                | A **prefab**                                                  | [How to Set Up a Prefab](/the-editor/how-to-set-up-a-prefab.md)                                                   |
| Sun, lamps, fill                                | Lights                                                        | [How to set up a light](/the-editor/how-to-set-up-a-light.md)                                                     |
| Missing silhouettes                             | Shadow flags on the light and the mesh                        | [How to use shadow](/the-editor/how-to-use-shadow.md)                                                             |
| Sky / HDRI                                      | Scene Environment or Sky Node                                 | [How to Set Up a Skybox](/the-editor/how-to-set-up-a-skybox.md)                                                   |
| Another `.genesys-scene`                        | A second **level**                                            | [How to add and play a second scene](/the-editor/how-to-add-and-play-a-second-scene.md)                           |

Panels and gizmos: [Editor Orientation](/the-editor/editor-orientation.md). Move, rotate, scale: [How to Place Move Rotate and Scale an Asset](/the-editor/how-to-place-move-rotate-and-scale-an-asset.md).

## Practical Guidance

* After the agent runs, select the new Outliner row. Read the class name first, then any `modelUrl`, `vfxPath`, **Model Material**, or `prefabPath`.
* Copy that path into the next prompt so the agent edits the same object.
* Prefer a movement template when you need a walking character. An Empty project’s GameMode spawns a bare Pawn until you set `pawnFactory`. Do not leave a player prefab in the scene. [How to spawn the player and place NPC prefabs](/the-editor/how-to-spawn-the-player-and-place-npc-prefabs.md).
* Save a prefab as soon as you would place the same tree more than twice.

## Common mistakes

| Mistake                                                           | What to do instead                                                   |
| ----------------------------------------------------------------- | -------------------------------------------------------------------- |
| Treating the `.glb` as the scene object                           | The scene object is the Model Mesh Node. The `.glb` stays in Assets. |
| Creating a VFX file and expecting it in the world                 | Add a VFX Node and set `vfxPath`.                                    |
| Dragging a character model and expecting WASD                     | That is a mesh. The player is a Pawn at Player Start.                |
| Looking for Shader in New Resource                                | Create **New Asset → Material**.                                     |
| Filling **Model Material** on kit art and losing the painted look | Clear the field. Packed `.glb` materials are the default.            |
| Turning on Show VFX to “add effects”                              | That toggle only draws VFX Nodes that already exist.                 |

## What You've Done

You can read a scene the way the agent builds it: file, node, optional prefab. Start with [How to use mesh models and ModelMesh nodes](/the-editor/how-to-use-mesh-models-and-modelmesh.md) if you are placing art, or [How to spawn the player and place NPC prefabs](/the-editor/how-to-spawn-the-player-and-place-npc-prefabs.md) if you are setting up who walks.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://studio-docs.sandbox.game/the-editor/what-the-ai-puts-in-your-scene.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
