The Decentraland scene runtime is the sandboxed execution environment where a scene runs its main script.
By importing modules from the runtime library, scenes have access a wide array of functionality, including:
- Create entities and control their behavior
- Interact with the player
- Communicate with other players
- Inspect the state of the world
- Connect to external services
- Make web3 payments
In practice, scenes bundle the Decentraland SDK with their code, which encapsulates the RPC-style interface of the runtime library and provides a nicer and more comfortable API.
Global Objects #
Inside the sandboxed environment,
assume certain objects and functions are globally available. Some are standard ES2020 objects (like
Math), and others are injected by the runtime to implement functionality such as requiring modules, logging messages and scheduling callbacks.
Se globals for more details.
See the runtime modules section for a comprehensive list.
The runtime requires that scenes implement a specific set of methods, and guarantees they will be called according to certain rules.
See execution for more on this.
Sensitive functionality, such as making HTTP requests to 3rd party services, is restricted by the runtime unless certain permissions are requested by the scene , and granted by the player.
See permissions to learn more.