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.
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.