Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -513,6 +513,7 @@
* [Development Workflow](creator/sdk7/getting-started/dev-workflow.md)
* [Preview Your Scene](creator/sdk7/getting-started/preview-scene.md)
* [SDK Quick Start](creator/sdk7/getting-started/sdk-101.md)
* [Useful Resources](creator/sdk7/getting-started/useful-resources.md)
* [Using the CLI](creator/sdk7/getting-started/using-the-cli.md)
* [Vibe Coding with AI](creator/sdk7/getting-started/vibe-coding.md)
* [Interactivity](creator/sdk7/interactivity/README.md)
Expand Down
1 change: 1 addition & 0 deletions creator/3d-modeling/3d-models.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,4 @@ The following pages also cover topics related to 3D models for Decentraland:
* [Textures](textures.md)
* [Colliders](colliders.md)
* [Animations](animations.md)
* [Useful Resources](../sdk7/getting-started/useful-resources.md): Blender add-ons, asset libraries, and AI tools to speed up your 3D workflow
10 changes: 3 additions & 7 deletions creator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ To make your scene interactive:

- [SDK Quick start](sdk7/getting-started/sdk-101.md): follow this mini tutorial for a quick crash course.
- [Development workflow](sdk7/getting-started/dev-workflow.md): read this to understand scene creation from end to end.
- [Vibe Coding with AI](sdk7/getting-started/vibe-coding.md): build scenes by describing what you want in plain language, and let an AI coding assistant write the code for you.
- [Examples](https://studios.decentraland.org/resources?sdk_version=SDK7): dive right into working example scenes.

![](../.gitbook/assets/sdk-code.png)
Expand All @@ -108,11 +109,6 @@ See [Kinds of project](sdk7/projects/kinds-of-project.md) to better understand t

See [publishing](sdk7/publishing/publishing.md) for details and special options when publishing a scene, to either Genesis City or Worlds.

### Alternative tools
## Useful Resources

There are also some community-built tools that can help you create Decentraland scenes:

- [**In-World Builder**](https://decentraland.org/play/?realm=https%3A%2F%2Fworlds.dcl-iwb.co%2Fworld%2FBuilderWorld.dcl.eth): Create a scene without leaving the Decentraland explorer. Use various default items or upload your own, without needing to deploy or own land.
- [**Virtual Land Manager**](https://vlm.gg/): Control various aspects of your scene in real time, including highly customized controls. Includes analytics: View historical user activity, track custom interactions, export lists of players in scene, and more.
- [**DCL Edit**](https://dcl-edit.com/): Drag and drop 3d models into your scene. You can then work on adding interactivity to the resulting scene using the SDK.
- [**Unity Exporter Toolkit**](https://github.com/PolygonalMind/dcl-dev-exportersdk7-release): Build in Unity, with a number of pre-built interactive modules. Export a fully-working Decentraland scene.
Check out [Useful Resources](sdk7/getting-started/useful-resources.md) for a curated list of tools, add-ons, asset libraries, and example projects that can speed up your creation workflow.
1 change: 1 addition & 0 deletions creator/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
* [Using the CLI](sdk7/getting-started/using-the-cli.md)
* [Coding essentials](sdk7/getting-started/coding-scenes.md)
* [Vibe Coding with AI](sdk7/getting-started/vibe-coding.md)
* [Useful Resources](sdk7/getting-started/useful-resources.md)
* [Designing the experience](sdk7/design-experience/)
* [Design Games](sdk7/design-experience/design-games.md)
* [MVP Guidelines](sdk7/design-experience/mvp-guidelines.md)
Expand Down
18 changes: 1 addition & 17 deletions creator/scene-editor/build/import-items.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,28 +72,12 @@ Each imported file, of any type, must occupy less than 50 MB to be usable in a s

**Free libraries for 3D models**

Instead of building your own 3D models, you can also download them from several free or paid libraries.

To get you started, below is a list of libraries that have free or relatively inexpensive content:

- [IWB Catalog](https://dcl-iwb.co/)
- [SketchFab](https://sketchfab.com/)
- [Archive3D](https://archive3d.net/)
- [SketchUp 3D Warehouse](https://3dwarehouse.sketchup.com/)
- [Thingiverse](https://www.thingiverse.com/) (3D models made primarily for 3D printing, but adaptable to Virtual Worlds)
- [ShareCG](https://www.sharecg.com/)
Instead of building your own 3D models, you can also download them from several free or paid libraries, or generate them with AI tools. See [Useful Resources](../../sdk7/getting-started/useful-resources.md) for a list of recommended asset libraries and generative AI tools.

{% hint style="warning" %}
**📔 Note**: Pay attention to the license restrictions that the content you download has.
{% endhint %}

You can also use Generative AI tools to generate your own 3D models. Check out:

- [Meshy](https://www.meshy.ai/)
- [Luma AI](https://lumalabs.ai/genie)
- [TRipo3D](https://www.tripo3d.ai/app)
- [Rodin](https://hyper3d.ai/rodin)

Note that in several of these sites, you can choose what format to download the model in. Always choose _.glTF_ or _.glb_ format if available. If not available, you must convert them to _.glTF_ or _.glb_ before you can use them in a scene. For that, we recommend importing them into Blender and exporting them with one of the available _.glTF_ export add-ons.

### Colliders
Expand Down
1 change: 1 addition & 0 deletions creator/scene-editor/get-started/about-editor.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ Configure different preview options from the dropdown menu next to the **Preview

* **Open Debug Console**: Opens a new window with the console output of the scene. This is useful to debug errors in the scene.
* **Enable Landscape Terrains**: Toggles the landscape around the scene. This is enabled by default, disable it to lower the scene's memory footprint.
* **Optimize Assets**: Converts the scene's 3D models to asset bundles, an optimized format that loads faster and renders just like the published scene. See [Preview with optimized assets](../../sdk7/getting-started/preview-scene.md#preview-with-optimized-assets).
* **Multi-Instance Preview**: Opens a separate preview window each time you click **Preview**, each logged in with its own account. Use this to test multiplayer scenes with multiple accounts. See [Test a multiplayer scene locally](../../sdk7/networking/serverless-multiplayer.md#test-a-multiplayer-scene-locally).
* **Show QR Code for Mobile**: Displays a QR code to open the scene preview on the Decentraland mobile app, as long as the phone is on the same network. See [Preview on mobile](../../sdk7/building-for-mobile/preview-on-mobile.md).

Expand Down
2 changes: 2 additions & 0 deletions creator/sdk7/debugging/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,8 @@ As an alternative, you can run `npm run deploy -- --skip-build` to skip the runn

Note that the generation of compressed asset-bundle versions of your models is a process that takes the servers time (about an hour). You can check if the models are being loaded as compressed asset bundles or not by writing the following command into the chat window `/detectabs`. Compressed models are tinted green, non-compressed are tinted red.

You can also reproduce this conversion locally before publishing, by enabling [optimized assets in the preview](../getting-started/preview-scene.md#preview-with-optimized-assets). This lets you catch and debug these issues without having to deploy the scene.

#### Issue: My scene has poor FPS in production, even though it runs smoothly in preview.

Your scene's performance could be affected by neighboring scenes that follow bad practices, as they also run in parallel. You can validate that this is the case by opening the settings and setting the line of sight to a minimum, so that only 1 parcel around your current scene is loaded.
Expand Down
19 changes: 2 additions & 17 deletions creator/sdk7/getting-started/dev-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,30 +54,15 @@ When creating a new scene, choose amongst several base template scenes that incl

If you're an experienced artist or you have access to someone who is, you can create custom `.gltf` or `.glb` models for your scene. See [3D model essentials](../../3d-modeling/3d-models.md) for tips on how to create 3D models for Decentraland.

There are many sources to obtain free or paid art assets. For example:

* [IWB Catalog](https://dcl-iwb.co/)
* [SketchFab](https://sketchfab.com/)
* [Clara.io](https://clara.io/)
* [Archive3D](https://archive3d.net/)
* [SketchUp 3D Warehouse](https://3dwarehouse.sketchup.com/)
* [Thingiverse](https://www.thingiverse.com/)
* [ShareCG](https://www.sharecg.com/)
* [CGTrader](https://cgtrader.com)

You can also use Generative AI tools to generate your own 3D models. Check out:

* [Meshy](https://www.meshy.ai/)
* [Luma AI](https://lumalabs.ai/genie)
* [TRipo3D](https://www.tripo3d.ai/app)
* [Rodin](https://hyper3d.ai/rodin)
You don't need to create your own assets, though. See [Useful Resources](useful-resources.md) for asset libraries and generative AI tools you can use to source 3D models, as well as other tools that can speed up your workflow.

## Run a local preview

To run a preview of your scene, open it in the Creator Hub and click the **Preview** button. Alternatively, if you're working from the command line, run `npm run start` on your project's root folder.

* [Preview your scene](preview-scene.md) for more details.
* Check the [Debug a scene](preview-scene.md#debug-a-scene) for tips on how to debug any issues.
* Enable **Optimize Assets** in the preview settings (or run `npm run start -- --asset-bundles` from the CLI) to load your 3D models as optimized asset bundles. The preview runs smoother and shows the models just as they'll look once published. See [Preview with optimized assets](preview-scene.md#preview-with-optimized-assets).

{% hint style="info" %}
**💡 Tip**: When using the Creator Hub, every time you make a change on your scene, the preview is automatically updated. Even while running.
Expand Down
28 changes: 28 additions & 0 deletions creator/sdk7/getting-started/preview-scene.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Configure different preview options from the dropdown menu next to the **Preview
- **Open Console Window During Preview**: Opens a new window with the console output of the scene. This is useful to debug errors in the scene.
- **Skip Auth Screen**: Skips the account selection screen and automatically logs you in with your currently logged in account. This is disabled by default, enable it if you want to test multiple accounts.
- **Landscape Terrain Enabled**: Toggles the landscape around the scene. This is enabled by default, disable it to lower the scene's memory footprint.
- **Optimize Assets**: Converts the scene's 3D models to asset bundles, an optimized format that loads faster and renders just like the published scene. See [Preview with optimized assets](preview-scene.md#preview-with-optimized-assets).
- **Show QR Code for Mobile**: Displays a QR code that opens your scene preview in the [Decentraland mobile app](../building-for-mobile/). Scan the code with a phone on the same Wi-Fi network as your computer. See [Preview on mobile](../building-for-mobile/preview-on-mobile.md) for details.

{% hint style="info" %}
Expand Down Expand Up @@ -49,6 +50,7 @@ Every time you make changes to the scene, the preview reloads and updates automa
You can add the following flags to the `npm run start` command to change its behavior:

- `-- --web3` Connects preview to browser wallet to use the associated avatar and account.
- `-- --asset-bundles` Converts the scene's 3D models to optimized asset bundles and uses them in the preview. See [Preview with optimized assets](preview-scene.md#preview-with-optimized-assets).
- `-- --no-debug` (alias `-- -d`) Disable the debug panel, that shows scene and performance stats.
- `-- --web-explorer` Launch the scene in the Web Explorer, in a browser tab, instead of the Desktop client.
- `-- --bevy-web` Opens the preview using the Bevy Web browser window.
Expand All @@ -63,6 +65,28 @@ You can add the following flags to the `npm run start` command to change its beh
**📔 Note**: Parameters need to be added with two series of dashes, for example `npm run start -- --web3`.
{% endhint %}

## Preview with optimized assets

When you publish a scene, the Decentraland servers convert all of its 3D models to asset bundles, an optimized format that is much lighter to load and render. See [Asset bundle conversion](../optimizing/performance-optimization.md#asset-bundle-conversion). By default, local previews skip this step and load the raw models instead.

Enable optimized assets to run this same conversion locally when you preview your scene. This has two benefits:

- The preview loads faster and runs smoother, especially on scenes with heavy 3D models.
- You see the models exactly as players will see them after publishing, so you can catch any issues with the asset compression before you publish.

This option only affects your local preview. The published scene is always converted on the servers, whether you use this option or not.

To enable it:

- **In the Creator Hub**: check **Optimize Assets** in the dropdown menu next to the **Preview** button. The conversion starts right away in the background, and you can follow its progress next to the checkbox.
- **From the CLI**: run `npm run start -- --asset-bundles`.

The conversion is near instant for most scenes, but the first preview can take longer if the scene has very heavy assets. The converted models are stored in the `.dcl-optimized-assets` folder inside your project, so on later previews only new or modified assets need to be converted. This folder is excluded when you publish, it's never uploaded with your scene.

{% hint style="info" %}
**💡 Tip**: If the conversion of an asset fails for any reason, the preview falls back to loading the raw 3D models, just like a regular preview.
{% endhint %}

## Upload a scene to decentraland

Once you're happy with your scene, you can upload it and publish it to Decentraland. For this you must own LAND, a Decentraland NAME, or an ETH ENS name, or have permissions given by someone that does. See [publishing](../publishing/publishing.md) for instructions on how to do that.
Expand Down Expand Up @@ -107,6 +131,10 @@ As an alternative, you can open a second Decentraland explorer window by writing

### Advanced: Fast iteration with remote asset bundles

{% hint style="info" %}
**💡 Tip**: For most scenes, the simplest way to preview with asset bundles is to enable [optimized assets](preview-scene.md#preview-with-optimized-assets), which converts your models locally and always reflects their latest version. The mode below is an alternative that reuses the bundles already published on the servers.
{% endhint %}

For heavy scenes with many 3D models, you can speed up scene loading and reloading by reusing the [asset bundles](../optimizing/performance-optimization.md#asset-bundle-conversion) that are already published on Decentraland's servers, instead of loading the raw unoptimized 3D models. This is especially useful when iterating on code-only changes.

To enable this mode, launch the Decentraland Desktop client with the following arguments:
Expand Down
26 changes: 1 addition & 25 deletions creator/sdk7/getting-started/sdk-101.md
Original file line number Diff line number Diff line change
Expand Up @@ -354,31 +354,7 @@ To debug any issues, check the [Troubleshooting](../debugging/troubleshooting.md

## 3D Art Assets

A good experience will have great 3D art to go with it. If you're keen on creating those 3D models yourself, see the [3D Modeling section](../../3d-modeling/3d-models.md). But if you prefer to focus on the coding or game design side of things, you don't need to create your own assets!

Here are a few sources for 3D models you can use in a Decentraland scene:

- [IWB Catalog](https://dcl-iwb.co/)
- [Asset Ovi](https://assetovi.com/)
- [SketchFab](https://sketchfab.com/)
- [Clara.io](https://clara.io/)
- [Archive3D](https://archive3d.net/)
- [SketchUp 3D Warehouse](https://3dwarehouse.sketchup.com/)
- [Thingiverse](https://www.thingiverse.com/)
- [ShareCG](https://www.sharecg.com/)
- [CGTrader](https://cgtrader.com)

You can also use Generative AI tools to generate your own 3D models. Check out:

- [Blender MCP](https://github.com/ahujasid/blender-mcp) + [Claude Desktop](https://claude.ai/download): connect an AI assistant directly to [Blender](https://www.blender.org/), so you can create and edit 3D models by describing what you want. All free tools.
- [Meshy](https://www.meshy.ai/)
- [Luma AI](https://lumalabs.ai/genie)
- [Tripo3D](https://www.tripo3d.ai/app)
- [Rodin](https://hyper3d.ai/rodin)

{% hint style="warning" %}
**📔 Note**: Models must be in the supported `.gltf` or `.glb` formats, and must have a number of triangles, textures and materials that adhere to the [scene limitations](../optimizing/scene-limitations.md). If getting models from a third party site, pay attention to the license restrictions of the content you download.
{% endhint %}
A good experience will have great 3D art to go with it. If you're keen on creating those 3D models yourself, see the [3D Modeling section](../../3d-modeling/3d-models.md). But if you prefer to focus on the coding or game design side of things, you don't need to create your own assets! See [Useful Resources](useful-resources.md) for asset libraries and AI tools you can use to source 3D models for your scene.

## Publish your scene

Expand Down
Loading