Skip to main content

Scene Graph

A scene is an asset that represents a virtual world.

This world is made up of entities — containers for components that define their behavior and appearance.

The

Lineage
component encodes a hierarchy.

This hierarchy is a tree — an entity can have only one parent, but multiple children.

Additionally, some entities with a

Scene Reference
component — called linkers — can reference external scenes, each with its own internal hierarchy.

The scene graph extension is a way to visually display this hierarchy.

Basics

Scene Graph Extension
Scene Graph Extension
Context menu
Context menu

Filter

This section allows you to search entities by name or by attached components.

Entity filter input
Entity filter input

To search for entities that have a specific component attached, type c: followed by the component’s name, e.g. c:mesh_ref will find all entities with a

Mesh Reference
attached.

Create entity from template

The plus button allows you to add an entity with pre-attached components to the scene.

All templates attach these components by default:

  • Entity UID
  • Name
  • Lineage
  • Transform
Template nameComponents attached
BlankNothing more than the default components
Camera
Camera
+
Perspective Lens
Point light
Light
Spot light
Light
+
Spot Light
Sun
Light
with attributes isDirectional and isSun toggled on.
Environment
Environment
Primitive
Mesh Reference
+
Material
- see below
Templates
Templates

Create a Primitive

A primitive is a procedurally generated mesh representing a simple geometric shape.

Once a primitive is selected, a menu appears with customization parameters:

Primitives list
Primitives list
Cone primitive options
Cone primitive options

One of those parameters is a mesh reference M.

Leaving the reference empty will create a new mesh named following the Name input.

Selecting an existing Mesh asset will replace its geometry with the newly generated primitive.

If the mesh generation succeeded, a new entity will appear in the 3D world as well as in the Scene Graph.

Scene Hierarchy

Entities are presented in a tree widget.

The parent/child relationship between entities is resolved using the

Lineage
component. The attribute parentUUID is the UUID of the parent entity.

On loading a scene, only the root entities are resolved. When an entity containing children is unfolded, a request is sent to the backend to retrieve its children.

The other components are represented with their icons displayed following the name of the entity.

If an entity doesn’t have any component beside the default ones, it will appear with a simple square icon. If the entity has children the square is plain, otherwise it’s an outline.

Hovering over a component icon shows the component’s name.

Hovering over an entity reveals an eye icon on the right side. The eye icon is for toggling the visibility of the entity.

Double clicking on an entity entry will focus, i.e. move the camera to look at that entity.

Entity entries can be dragged and dropped to move them around, a red line appears to indicate the new position of the entity. Reparenting entities is done this way.

Scene hierarchy view
Scene hierarchy view
Drag and drop an entity to move it around
Drag and drop an entity to move it around

Scene statistics

At the bottom left, you'll find the total number of entities in the scene — including those from referenced scenes.

On the bottom right, the total number of triangles spanning all scenes.

Scene statistics
Scene statistics

Context Menu

Right-clicking in the Scene Graph opens a context menu.

Depending on whether you clicked on an empty space, on one entity, on multiple entities or on an entity with children, the menu displays slightly different options.

Right-clicking on empty space shows the following options:

Clicking on empty space
Clicking on empty space
Clicking on a single entity
Clicking on a single entity
Clicking while multiple entities are selected
Clicking while multiple entities are selected
Clicking on an entity with children
Clicking on an entity with children
ActionNumber of selected entitiesRequired componentDescription
Rename≥ 1Renames the entity, alters the
Name
component.
Focus on entity= 1Moves the camera towards the entity so that the bounding box of the entity fits entirely on the screen. This can be triggered by double clicking on an entity as well.
Toggle entity visibility≥ 1Show or hide selected entities.
Group entities> 1Creates a new parent entity and moves all selected entities under it.
Cut≥ 1Cut selected entities.
Copy≥ 1Copies the selected entities — excluding their children.
Copy with its hierarchy= 1Copy the entity and all its children recursively.
Paste≥ 0Paste previously cut or copied entities.
Duplicate≥ 1A single action copy paste.
Create entity= 0Creates a blank entity with only default components attached to it.
Create child entity= 1Creates a blank entity parented to the selected entity.
Paste component≥ 1Paste the copied component inside the selected entity - see components extension
Simplify hierarchy= 1
Lineage
Scans down the selected entity children and removes any redundant entity. A redundant entity has a single child but no specific components other than the default ones. When an entity is removed its local transform is applied to its child’s.
Create convex collision geometry≥ 1
Mesh Reference
Create a convex collision geometry asset based on its mesh and attach it to the entity as a
Collision Geometry Reference
component.
Create triangular collision geometry≥ 1
Mesh Reference
Create a triangular collision geometry asset based on its mesh and attach it to the entity as a
Collision Geometry Reference
component.
Create a scene from this entity= 1Extracts the entity and its children and creates a new scene with a copy of those entities. It’s possible to replace the entity hierarchy with a
Scene Reference
referencing the new scene.
Delete≥ 1Deletes all selected entities with all their children
Allow clipboard access
Allow clipboard access

External entities

An entity that contains a

Scene Reference
component is called a linker, i.e. a linker is a reference to another scene.

Entities of the imported scene are resolved like local ones, but are marked as external — that is, they are read-only.

You can still explore the referenced scene structure and show/hide any entity, as toggling visibility is not a persistent action.

Internal entities have a dark blue background, whereas external entities have a lighter blue background.

A linker can have internal entities as children. Those will appear with a dark blue background as other internal entities.

Hovering over a linker will reveal on the right side a new option Open in a new tab that opens the referenced scene in a new tab.

Scene with linkers
Scene with linkers

Opening the context menu by right clicking on a linker will also show this option and two more: Open in a new window and Open in asset browser.

Linker context menu
Linker context menu

Overriders

Overriders allow you to modify external entities in the scope of the current scene, i.e. without altering the original entities.

Overriders are entities that live in the current scene, they have an

Overrider
component attached to them.

On the UI side the orange color is dedicated to overriders. An overrider can modify specific components of the targeted entity. This will turn the overridden component’s icon color to orange.

An overrider can delete specific components of the targeted entity. This will turn the deleted component’s icon color to orange.

An overrider can delete its target entity if its deleter attribute is set to true. In this case the targeted entity’s name will be crossed out with an orange line.

A linker that has an overridden entity will show a small orange chip on the bottom right of its

Scene Reference
icon. If an external entity has an overridden descendant it will also display the small orange chip in the bottom right of its icon.

duck.fbx has 2 overridden entities
duck.fbx has 2 overridden entities

Opening a context menu on an overridden entity reveals three new options:

Context menu on overridden entity
Context menu on overridden entity
Context menu on an entity marked as deleted
Context menu on an entity marked as deleted

Discard all overrides

to get rid of the overrider.

Mark as deleted

replaces

Delete

to support the point that the entity is not actually deleted.

Restore entity

appears if the entity has been marked as deleted (orange stroke).

Transient entities

A transient entity is an entity that only exists briefly during the life of the session i.e. it’s not persisted.

Transient entities can be parented to internal entities for the duration of the session.

A transient entity is recognizable with the hatched background. Note that the transient rule applies on top of external versus internal rule.

Transient entities
Transient entities

Collaboration

When several people work on the same scene, the scene graph reflects this.

When another user selects an entity, their avatar will show up next to that entity outline with their specific color.

When a user modifies an entity, the entry corresponding to that entity in the scene graph will briefly display a flash of the color of the user that made the modification.

Multiple users can select the same entity. Their avatars will appear stacked beside the entity.

The selected entity is revealed, the other user’s avatar appears
The selected entity is revealed, the other user’s avatar appears

If the selected entity is not revealed in the current user’s view, a small dot of the other user’s avatar color appears on the first revealed parent of that entity.

The selected entity is not revealed, a dot appears
The selected entity is not revealed, a dot appears

If the other user is not in the same session, their avatar will be outlined in white, and the dot will also be white.

Users are visible even if they’re working inside a referenced scene of the one you’re viewing.

The color is white if the other user is not in the same session
The color is white if the other user is not in the same session