Skip to content
This repository was archived by the owner on Dec 9, 2025. It is now read-only.
Merged
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
4 changes: 2 additions & 2 deletions content/creator/sdk7/projects/kinds-of-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Worlds offer a few options to customize the scene sky box, which aren't availabl
## Global Scenes

Global scenes can transform the already existing landscape of Decentraland, adding layers of interactivity and gameplay. These are scenes that are not constrained to only run on certain parcels of LAND or certain Worlds. Players carry them with them wherever they go.

<!--
### Portable Experiences

A portable experience is linked to a NAME token. NAME tokens can be bought in the [Marketplace](https://decentraland.org/marketplace/names/claim). You can claim any name you want as long as it's not claimed yet.
Expand All @@ -55,7 +55,7 @@ A portable experience is linked to a NAME token. NAME tokens can be bought in th

Portable experiences can be activated as part of the interactive code of a scene (either in LAND or a World).

Players are prompted asking if they want to run this portable experience, and if they do they'll carry it with them wherever they go for the rest of their session. [Learn more]({{< ref "/content/creator/sdk7/projects/portable-experiences.md" >}}).
Players are prompted asking if they want to run this portable experience, and if they do they'll carry it with them wherever they go for the rest of their session. [Learn more]({{< ref "/content/creator/sdk7/projects/portable-experiences.md" >}}). -->

### Smart Wearables

Expand Down
8 changes: 6 additions & 2 deletions content/creator/sdk7/projects/portable-experiences.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ url: /creator/development-guide/sdk7/portable-experiences/
weight: 4
---

Portable experiences are essentially scenes that are not constrained to parcels of land. Players can carry these with them anywhere they go in Decentraland, adding a new layer of content over their experience.
{{< hint warning >}}
**📔 Note**: Portable expereinces are currently not supported in the Decentraland desktop client.
{{< /hint >}}

<!-- Portable experiences are essentially scenes that are not constrained to parcels of land. Players can carry these with them anywhere they go in Decentraland, adding a new layer of content over their experience.
Portable Experiences can be tied to a NAME and can be loaded by another scene using the SDK.

{{< hint warning >}}
Expand Down Expand Up @@ -142,4 +146,4 @@ Portable experiences only run for the player that activates it. Other players do
- You can’t directly send any instructions to nearby scenes or other portable experiences, the `messageBus` is sandboxed for each portable experience/scene.
- You can use an intermediate server to send information between the portable experience and a scene.
- If you do a raycast, you can detect hits against the colliders of entities from the surrounding scenes. This can tell you the exact hit location, normal direction, and even the entity name and mesh name of the 3D model. This only works when hitting entities on scenes written with SDK7.
- Kill a portable experience: Run the `kill()` method to self-terminate a portable experience.
- Kill a portable experience: Run the `kill()` method to self-terminate a portable experience. -->
18 changes: 8 additions & 10 deletions content/creator/sdk7/projects/scene-metadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,14 +146,14 @@ Currently, only the following feature is handled like this:

- **Voice Chat**: Refers to players using their microphones to have conversations over voice chat with other nearby players.

- **Disable Portable Experiences**: This setting will set the behavior for any portable experience of a player while standing inside the your scene. This includes not only [portable experiences]({{< ref "/content/creator/sdk7/projects/portable-experiences.md" >}}) but also [smart wearables]({{< ref "/content/creator/sdk7/projects/smart-wearables.md" >}}). With this setting, you can chose to either keep them all enabled (default), disable them, or hide their UI. This is useful for scenes where portable experiences might give an unfair advantage to some players, for example using a jetpack in a parkour challenge. It's also recommended to prevent these in scenes where blockchain transactions take place, and where a malicious portable experience could potentially impersonate the scene´s UI.
- **Disable Portable Experiences**: This setting will set the behavior for any smart wearables or portable experience of a player while standing inside the your scene. This includes both [portable experiences]({{< ref "/content/creator/sdk7/projects/portable-experiences.md" >}}) and [smart wearables]({{< ref "/content/creator/sdk7/projects/smart-wearables.md" >}}). With this setting, you can chose to either keep them all enabled (default), or disable them. This is useful for scenes where smart wearables might give an unfair advantage to some players, for example using a jetpack in a parkour challenge. It's also recommended to prevent these in scenes where blockchain transactions take place, and where a malicious global scene could potentially impersonate the scene´s UI.

On the `scene.json` file, these toggles are managed under `featureToggles`. The corresponding features are enabled by default, unless specified as _disabled_ in the `scene.json` file.

```json
"featureToggles": {
"voiceChat": "disabled",
"portableExperiences": "enabled" | "disabled" | "hideUi"
"portableExperiences": "enabled" | "disabled"
},
```

Expand Down Expand Up @@ -318,26 +318,24 @@ This example spawns a player on _5, 1, 4_ looking East at _10, 1, 4_. If the spa
The `requiredPermissions` property manages various controlled features that could be used in an abusive way and damage a player's experience.

{{< hint warning >}}
**📔 Note**: Permissions are only relevant in [portable experiences]({{< ref "/content/creator/sdk7/projects/portable-experiences.md" >}}) and [smart wearables]({{< ref "/content/creator/sdk7/projects/smart-wearables.md" >}}). Normal scenes (both in parcels or in Worlds) are not affected by these permissions, and are free to use the corresponding functionality.
**📔 Note**: Permissions are only relevant in [smart wearables]({{< ref "/content/creator/sdk7/projects/smart-wearables.md" >}}) and [portable experiences]({{< ref "/content/creator/sdk7/projects/portable-experiences.md" >}}). Normal scenes (both in parcels or in Worlds) are not affected by these permissions, and are free to use the corresponding functionality.
{{< /hint >}}

The corresponding features are blocked from being used by the scene, unless the permission is requested in the `scene.json` file.
The corresponding features are blocked from being used by the global scene, unless the permission is requested in the `scene.json` file.

```json
"requiredPermissions": [
"ALLOW_TO_MOVE_PLAYER_INSIDE_SCENE",
"USE_WEB3_API",
"OPEN_EXTERNAL_LINK",
],
```

Currently, the following permissions are managed on smart wearables and portable experiences:

- `ALLOW_TO_MOVE_PLAYER_INSIDE_SCENE`: Refers to [moving a Player]({{< ref "/content/creator/sdk7/interactivity/player-avatar.md#move-player" >}})
- `ALLOW_TO_TRIGGER_AVATAR_EMOTE`: Refers to [Playing emotes on the player avatar]({{< ref "/content/creator/sdk7/interactivity/player-avatar.md" >}})
- `USE_WEB3_API`: Refers to interacting with the player's browser wallets, to make transactions or sign messages.
- `USE_FETCH`: Refers to sending http requests to 3rd party servers, using `fetch` or `signedFetch`

<!-- - `USE_FETCH`: Refers to sending http requests to 3rd party servers, using `fetch` or `signedFetch`
- `USE_WEBSOCKET`: Refers to opening websocket connections with 3rd party servers
- `OPEN_EXTERNAL_LINK`: Refers to prompting the player to open links to external sites
- `OPEN_EXTERNAL_LINK`: Refers to prompting the player to open links to external sites -->

If a `requiredPermissions` property doesn't exist in your `scene.json` file, create it at root level in the json tree.

Expand Down
Loading