Skip to main content

Concepts

Projects

Dreamlab Projects are a collection of behavior scripts, assets, and the scene definition. A project usually represents everything needed to create a complete game.

Projects can be imported into other projects, similar to how .unitypackage files work. This means you can also use projects as re-usable collections of assets, prefabs, or behavior scripts.

Entities

Entities are the building blocks of your scene, they are like Godot's Node or Unity's GameObject. Different entity types will have different logic associated with them, such as displaying a texture (Sprite, AnimatedSprite, etc) or simulating physics (Collider, RigidBody, etc).

Behaviors

Behaviors are user scripts written in TypeScript that attach to Entities, these are similar to Godot Scripts or Unity MonoBehaviors. By convention all behavior scripts live inside the src folder in a project.

Assets

Assets are any static files your project may need to reference, eg: images, sound clips, data files, etc. By convention assets live in the assets folder in a project.

Resource URIs

You can reference assets using res:// URIs. These are relative to the project root.

info

Behavior scripts can also be referenced using Resource URIs, though the Dreamlab Editor takes care of this automatically so you won't usually need to do this.

Prefabs