> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-es/escenas-sdk7/tipos-de-proyectos/scene-metadata.md).

# Metadata de scene

Una escena es un proyecto de Decentraland que está delimitado espacialmente y se asigna a una o varias parcelas. Si una escena se despliega en el mapa de Decentraland Genesis City, los jugadores pueden تجربarlo visitando las coordenadas de la escena. Si una escena se despliega en un [World](/creator/content-creator-es/escenas-sdk7/publicacion/publishing-options.md#decentraland-worlds), los jugadores pueden visitarlo a través de una URL.

Consulta [Archivos en una escena](/creator/content-creator-es/escenas-sdk7/tipos-de-proyectos/scene-files.md) para ver una lista de qué archivos se usan en un proyecto de escena.

## Metadata

Para editar los metadata de una escena en el [Scene Editor en Creator Hub](/creator/content-creator-es/scene-editor/empezar/about-editor.md), abre una escena y haz clic en el **icono de lápiz**.

![](/files/8bd0cf6d02deab34fe9f5b2cbe3685c70c54586e)

Esto abre el menú de la escena, donde puedes configurar varias propiedades.

![](/files/1b9473a5c662ca14b9f346728dee665f52836c5c)

Alternativamente, puedes editar directamente el archivo `scene.json` , donde se almacenan todos estos valores.

{% hint style="warning" %}
**📔 Nota**: No añadas campos personalizados al `scene.json` archivo que no se mencionen en esta página, ya que podría causar problemas al cargar tu escena.
{% endhint %}

## Título, descripción e imagen de la escena

Es muy importante darle a tu escena un título, una descripción y una imagen miniatura para atraer jugadores y ayudarles a saber qué esperar.

Los jugadores verán esto mostrado en un modal cuando seleccionen las parcelas de tu escena en el mapa. También lo verán en una pantalla de confirmación cuando sean [teletransportados](/creator/content-creator-es/escenas-sdk7/interactividad/external-links.md) allí por otra escena. Configurar datos atractivos aquí puede ayudar significativamente a dirigir tráfico a tu escena.

Cuando los jugadores navegan por el mundo y entran en tu escena, pueden leer el título de la escena debajo del minimapa.

![](/files/832b421e247d452fc2f7b1fc69f58ddf1998fde9)

Añade estos datos mediante el menú de la escena en el Scene Editor.

La miniatura debe ser una *.png* imagen con un tamaño recomendado de *228x160* píxeles. El tamaño mínimo admitido es *196x143* píxeles. La imagen puede estirarse si las proporciones de ancho a alto no coinciden *228x160*.

La imagen en `navmapThumbnail` debe ser una ruta a un archivo de imagen en la carpeta del proyecto. También puede ser un enlace URL a una imagen alojada en otro lugar.

{% hint style="warning" %}
**📔 Nota**: Si alojas una imagen en otro lugar, asegúrate de que sea en un sitio que tenga políticas CORS permisivas para mostrar contenido en otros sitios.
{% endhint %}

Si quieres que otros desarrolladores puedan ponerse en contacto contigo, también puedes añadir información de contacto a tu escena.

## Categorías

Puedes añadir categorías a tu escena para ayudar a los jugadores a explorar Decentraland. Estas se usan en la [dApp Places de Decentraland](https://places.decentraland.org) para categorizar cada lugar y facilitar que los jugadores encuentren lo que les interesa.

**Categorías** deben elegirse de una lista predefinida de opciones:

* 🎨 Arte
* 🕹️ Juego
* 🃏 Casino
* 👥 Social
* 🎶 Música
* 👠 Moda
* 🪙 Crypto
* 📚 Educación
* 🛍️ Tienda
* 🏢 Negocios
* 🏅 Deportes
* 🏃 Parkour

Una escena puede pertenecer a más de una categoría, con un máximo de 3 categorías listadas.

En el `scene.json` las categorías se enumeran en el `tags` array.

Estas son las categorías predefinidas:

* `art`
* `game`
* `casino`
* `social`
* `music`
* `fashion`
* `crypto`
* `education`
* `shop`
* `business`
* `sports`
* `parkour`

Por ejemplo, una escena podría etiquetarse como `game` y `casino` añadiendo lo siguiente al `scene.json`

```json
  "tags": [
    "game",
    "casino",
  ],
```

Después de eso, la escena aparece en la dApp Places bajo las `game` y `casino` categorías.

## Clasificación por edad

La **Clasificación por edad** el campo se usa para clasificar el contenido de tu escena. Decentraland es una plataforma para mayores de 18 años. La siguiente opción está disponible:

* **🟡 `A` para Adultos (18+)**: Este es el requisito de edad mínimo, según se especifica en los [Términos de uso](https://decentraland.org/terms). Elige esta categoría si tu escena incluye contenido apropiado para adultos, como lenguaje moderado o intenso, violencia, contenido explícito, apuestas o sustancias como alcohol, tabaco y drogas.

Al editar la Clasificación por edad mediante el `scene.json`, la calificación es un **código de una sola letra**, escribe **A** para adultos. El `campo de calificación` va en el nivel raíz del árbol JSON.

![](/files/707773abf60b8ed92e201156182b3d8b02fa9a5a)

```json
 "rating": "A"
```

### Contenido restringido

Hay una tercera categoría para las escenas: 🔴 `R` para Restricted. Esta clasificación la aplican manualmente los moderadores de contenido a las escenas que infringen la [Content Policy](https://decentraland.org/content). Las infracciones pueden incluir, entre otras:

* contenido sospechoso o spam
* contenido abusivo o de odio
* contenido sexual o degradante
* abuso infantil
* acoso o intimidación
* promoción del terrorismo/violencia
* infracción de IP/derechos de autor

Las escenas con esta clasificación no se cargarán y nadie podrá interactuar con ellas. Si tu escena cae en esta categoría, deberías revisarla y actualizarla para que cumpla con la [Content Policy](https://decentraland.org/content).

## Conmutadores de funciones

Hay ciertas funciones que pueden deshabilitarse en escenas específicas para que los jugadores no puedan usarlas de forma abusiva. Configúralas en la **pestaña de Configuración** de los ajustes de la escena.

![](/files/1b6d21142ab67d19254ca5ab40553928e52e2a80)

Actualmente, solo se gestiona así la siguiente función:

* **Voice Chat**: se refiere a que los jugadores usen sus micrófonos para tener conversaciones por chat de voz con otros jugadores cercanos.
* **Desactivar Portable Experiences**: Esta configuración establecerá el comportamiento de cualquier portable experience de un jugador mientras esté dentro de tu escena. Esto incluye no solo [portable experiences](/creator/content-creator-es/escenas-sdk7/tipos-de-proyectos/portable-experiences.md) sino también [smart wearables](/creator/content-creator-es/escenas-sdk7/tipos-de-proyectos/smart-wearables.md). Con esta configuración, puedes elegir mantenerlos todos habilitados (predeterminado), deshabilitarlos o ocultar su UI. Esto es útil para escenas en las que las portable experiences podrían dar una ventaja injusta a algunos jugadores, por ejemplo usando un jetpack en un desafío de parkour. También se recomienda impedirlos en escenas donde se realizan transacciones de blockchain y donde una portable experience maliciosa podría suplantar potencialmente la UI de la escena.

En el `scene.json` archivo, estos toggles se gestionan bajo `featureToggles`. Las funciones correspondientes están habilitadas de forma predeterminada, a menos que se especifiquen como *disabled* en el `scene.json` archivo.

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

Si una `featureToggles` propiedad no existe en tu `scene.json` archivo, créala en el nivel raíz del árbol JSON.

### Propinas

Puedes recibir propinas de los jugadores que visiten tu escena. Para habilitar las propinas, ve a la **pestaña de Detalles** de la configuración de la escena y proporciona una dirección de Ethereum bajo **Dirección de la wallet del creador**.

![](/files/a7a2813c52e82f917a9da1ba5bbab595a08db5b3)

También puedes proporcionar la dirección para propinas de tu escena en el `scene.json` archivo, bajo el `creator` campo.

```json
  "creator": "0x1234567890123456789012345678901234567890"
```

Cuando un jugador visita tu escena, verá un icono de hucha en la esquina superior izquierda de la pantalla. Al hacer clic en él, se abre un modal donde puede enviarte una propina. También se puede acceder a este menú abriendo la información de tu escena en el mapa.

![](/files/973604b6e08c52924fa0cbc37e3bce3f4c589543)

El modal de propina permite al jugador seleccionar la cantidad de MANA que quiere enviar. El jugador debe tener MANA en su wallet para enviar una propina. Si la dirección que proporcionaste está vinculada a un Decentraland NAME, este modal mostrará el nombre del propietario de la wallet junto con la dirección de Ethereum.

![](/files/9aec0cd68e7796d38e4f211c0f967a83bff1f8e7)

Recibirás una notificación en la pestaña de notificaciones de Decentraland cada vez que un jugador te envíe una propina.

## Ubicación de aparición

La **Configuración de aparición** en el **pestaña de Configuración** la pestaña define dónde aparecen los jugadores cuando acceden a tu escena directamente, ya sea escribiendo directamente las coordenadas en el navegador o teletransportándose.

![](/files/ac4406cad2f8841cf738daef370179f47197a876)

Tu escena puede tener objetos que bloqueen a los jugadores si aparecen encima de ellos, como árboles o escaleras. Tu escena también puede tener terreno elevado. Para evitar que los jugadores aparezcan en lugares donde no puedan moverse, puedes establecer varias posiciones de aparición en ubicaciones específicas.

La posición consiste en coordenadas dentro de la escena. Estos números se refieren a una posición dentro de la parcel, similar a lo que usarías en el código de la escena en un componente Transform para [posicionar una entidad](/creator/content-creator-es/escenas-sdk7/conceptos-basicos-de-contenido-3d/entity-positioning.md).

{% hint style="warning" %}
**📔 Nota**: Todos los puntos de aparición deben estar dentro de las parcelas que componen la escena. No puedes hacer aparecer a un jugador fuera del espacio de estas parcelas.
{% endhint %}

Marca la **casilla de Random Offset** para desplazar aleatoriamente a los jugadores que aparecen alrededor del punto de aparición. Esto evita que todos los jugadores aparezcan superpuestos entre sí cuando surgen, lo cual se ve especialmente mal en escenas concurridas. El **Max Offset** valor es la distancia máxima posible desde el punto de aparición original, tanto en los ejes X como Z.

Configura el **Camera Target** para controlar la dirección hacia la que miran los jugadores cuando entran en tu escena. Esto te da un mejor control sobre su primera impresión y puede ayudarte a orientarlos hacia una dirección específica. Por defecto apunta a `{x: 8, y:1, z:8}`, que es el centro de la escena para escenas de una sola parcela, o el centro de la parcela inferior izquierda para escenas más grandes.

Haz clic en **Añadir punto de aparición** para listar tantos puntos de aparición como quieras. Los jugadores aparecerán aleatoriamente en uno de ellos.

### Puntos de aparición en JSON

Los puntos de aparición también se pueden configurar mediante el `scene.json` archivo, en `spawnPoints` campo.

```json
  "spawnPoints": [
    {
      "name": "spawn1",
      "position": {
        "x": 5,
        "y": 1,
        "z": 4
      }
    }
  ],
```

Una sola escena puede tener varios puntos de aparición. Esto es especialmente útil en escenas grandes. Para tener muchos puntos de aparición, simplemente enuméralos como un array.

```json
  "spawnPoints": [
    {
      "name": "spawn1",
      "position": {
        "x": 5,
        "y": 1,
        "z": 4
      }
	},
	{
      "name": "spawn2",
      "position": {
        "x": 3,
        "y": 1,
        "z": 1
      }
    }
  ],
```

Cuando hay varios puntos de aparición, se selecciona el más cercano a las coordenadas indicadas por el jugador.

Si un punto de aparición está marcado como `default`, siempre se usará, sin importar si es el más cercano. Si varios puntos de aparición están marcados como `default`, se selecciona el más cercano.

```json
  "spawnPoints": [
    {
      "name": "spawn1",
      "default": true,
      "position": {
        "x": 5,
        "y": 1,
        "z": 4
      }
	},
	{
      "name": "not-used",
      "position": {
        "x": 3,
        "y": 1,
        "z": 1
      }
    }
  ],
```

**Regiones de aparición**

Puedes establecer una región completa de la escena para que actúe como punto de aparición. Al especificar un array de dos números para cada dimensión de la posición, los jugadores aparecerán en una ubicación aleatoria dentro de ese rango. Esto ayuda a evitar que los jugadores que entran se superpongan. Ten en cuenta que las tres dimensiones deben usar el mismo formato: o bien todas números únicos, o bien todos arrays de dos números. Para mantener una dimensión fija, usa un array con el mismo número dos veces, como `"y": [1,1]`.

```json
  "spawnPoints": [
    {
      "name": "region",
      "position": {
        "x": [1,5],
        "y": [1,1],
        "z": [2,4]
      }
    }
  ],
```

En el ejemplo anterior, los jugadores pueden aparecer en cualquier punto del cuadrado cuyas esquinas están en *1,1,2* y *5,1,4*.

Una escena también puede tener varias regiones de aparición, igual que puede tener varios puntos de aparición.

```json
  "spawnPoints": [
    {
      "name": "region1",
      "position": {
        "x": [1,5],
        "y": [1,1],
        "z": [2,4]
      }
    },
      {
      "name": "region2",
      "position": {
        "x": [1,5],
        "y": [1,1],
        "z": [6,8]
      }
    }
  ],
```

**Rotación**

También puedes especificar la rotación de los jugadores cuando aparecen, para que miren en una dirección específica.

Simplemente añade un `campo cameraTarget` a los datos del punto de aparición. El valor de `campo cameraTarget` debe hacer referencia a una ubicación en el espacio, con *x*, *y* y *z* coordenadas relativas a la escena, igual que la `posición` campo.

```json
  "spawnPoints": [
    {
      "name": "spawn1",
      "position": {
        "x": 5,
        "y": 1,
        "z": 4
      },
      "cameraTarget": {
        "x": 10,
        "y": 1,
        "z": 4
      }
    }
  ],
```

Este ejemplo genera un jugador en *5, 1, 4* mirando al Este hacia *10, 1, 4*. Si la posición de aparición es un rango, la rotación del jugador siempre coincidirá con el objetivo indicado. Si hay varios puntos de aparición, cada uno puede tener su propio objetivo independiente.

## Permisos requeridos

La `requiredPermissions` la propiedad gestiona varias funciones controladas que podrían usarse de forma abusiva y dañar la experiencia de un jugador.

{% hint style="warning" %}
**📔 Nota**: Los permisos solo son relevantes en [portable experiences](/creator/content-creator-es/escenas-sdk7/tipos-de-proyectos/portable-experiences.md) y [smart wearables](/creator/content-creator-es/escenas-sdk7/tipos-de-proyectos/smart-wearables.md). Las escenas normales (tanto en parcels como en Worlds) no se ven afectadas por estos permisos y pueden usar libremente la funcionalidad correspondiente.
{% endhint %}

Estas funciones están bloqueadas en la escena a menos que el permiso se solicite en el `scene.json` archivo.

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

Se pueden solicitar los siguientes permisos:

* `ALLOW_TO_MOVE_PLAYER_INSIDE_SCENE`: Se refiere a [mover a un Player](/creator/content-creator-es/escenas-sdk7/interactividad/player-avatar.md#move-player)
* `ALLOW_TO_TRIGGER_AVATAR_EMOTE`: Se refiere a [Reproducir emotes en el avatar del jugador](/creator/content-creator-es/escenas-sdk7/interactividad/player-avatar.md#play-animations)
* `ALLOW_MEDIA_HOSTNAMES`: *(legacy)* Se refiere a transmitir media (como [video](/creator/content-creator-es/escenas-sdk7/media/video-playing.md) o [audio](/creator/content-creator-es/escenas-sdk7/media/audio-streaming.md)) desde dominios externos.
* `USE_WEB3_API`: Se refiere a interactuar con las wallets del navegador del jugador, para hacer transacciones o firmar mensajes.
* `USE_FETCH`: Se refiere a enviar solicitudes http a servidores de terceros, usando `fetch` o `signedFetch`
* `USE_WEBSOCKET`: Se refiere a abrir conexiones websocket con servidores de terceros
* `OPEN_EXTERNAL_LINK`: Se refiere a pedirle al jugador que abra enlaces a sitios externos

Si una `requiredPermissions` propiedad no existe en tu `scene.json` archivo, créala en el nivel raíz del árbol JSON.

Al usar `ALLOW_MEDIA_HOSTNAMES`, incluye también un `campo allowedMediaHostnames` a nivel raíz, que liste los dominios desde los que la escena tiene अनुमति para transmitir media:

```json
"requiredPermissions": [
    "ALLOW_MEDIA_HOSTNAMES"
  ],
"allowedMediaHostnames": [
    "somehost.com",
    "otherhost.xyz"
  ],
```

{% hint style="warning" %}
**📔 Nota**: `ALLOW_MEDIA_HOSTNAMES` y `campo allowedMediaHostnames` son configuraciones heredadas; no deberías necesitar añadirlas. Solo se imponían en versiones anteriores del cliente web; los clientes actuales de Decentraland reproducen media externa sin ellas.
{% endhint %}

## Parcelas de la escena

Cuando [desplegando](/creator/content-creator-es/escenas-sdk7/publicacion/publishing.md) una escena, el contenido se carga en las coordenadas asignadas en la configuración de la escena. Una escena puede incluir una sola parcela o una lista de hasta docenas de ellas.

Edita esto en la segunda pestaña del menú de la escena en el Scene Editor.

![](/files/4af1a7c932e612aad846331c3fa69df9951eb3f0)

Usa los menús desplegables y haz clic en **Aplicar diseño** para cambiar las dimensiones de tu escena. También puedes hacer clic en cada parcela individual para quitarla de tu diseño.

![](/files/fa794278bb0105866e888649fcd46b3ee09127ce)

La escena predeterminada tiene sus coordenadas establecidas en *0,0*. No necesitas cambiar esto mientras desarrollas una escena sin conexión, a menos que necesites ocupar varias parcelas. Tendrás que cambiarlo antes de desplegar en coordenadas para las que tengas permisos de despliegue.

También puedes cambiar las coordenadas de la escena en el `scene.json` archivo:

```json
 "scene": {
    "parcels": [
      "54,-14"
    ],
    "base": "54,-14"
  }
```

La `base` campo define qué parcela considerar como parcela base. Si tu escena tiene una sola parcela, la base debería ser esa parcela. Si tu escena tiene varias parcelas, la base debería ser la parcela inferior izquierda (Suroeste). Todas las posiciones de entidades se miden con respecto a la esquina suroeste de esta parcela.

Para mostrar varias parcelas en la vista previa de la escena, lista tantas parcelas como pienses usar. No necesitan ser exactamente las parcelas a las que vas a desplegar, pero todas deben ser adyacentes y estar dispuestas en las mismas posiciones relativas.

```json
 "scene": {
    "parcels": [
      "54,-14",  "55,-14"
    ],
    "base": "54,-14"
  }
```

{% hint style="warning" %}
**📔 Nota**: El tamaño máximo de escena que puedes establecer es de 300 x 300 parcelas (90.000 parcelas en total).
{% endhint %}

### Establecer parcelas mediante la línea de comandos

Puedes establecer las parcelas de tu escena ejecutando el `npx update-parcels` comando en la carpeta de tu escena. Esto es especialmente útil para escenas grandes, ya que no necesitas listar cada parcela involucrada.

{% hint style="warning" %}
**📔 Nota**: `update-parcels` es una herramienta comunitaria de terceros; no forma parte del SDK oficial de Decentraland y no está mantenida por la Decentraland Foundation.
{% endhint %}

**Parcela única**

Pasa un solo argumento con las coordenadas de la escena. Esta coordenada también se establece como la parcela base.

`npx update-parcels <parcel>`

Por ejemplo:

`npx update-parcels 15,-26`

**Múltiples parcelas**

Pasa dos argumentos: las parcelas Suroeste y Noreste. La parcela Suroeste también se establece como la parcela base.

`npx update-parcels <parcel> <parcel>`

{% hint style="info" %}
**💡 Consejo**: La parcela Suroeste siempre es la que tiene los números más bajos en ambas *X* y *Y* coordenadas.
{% endhint %}

Por ejemplo:

`npx update-parcels 15,-26 17,-24`

Este comando genera una escena de 3x3, con su parcela base en `15,-26`.

**Personalizar parcela base**

Pasa tres argumentos: las parcelas Suroeste y Noreste, y la parcela que se usará como parcela base.

`npx update-parcels <parcel> <parcel> <parcel>`

{% hint style="warning" %}
**📔 Nota**: El parcel base debe ser uno de los parcels de la scene.
{% endhint %}

**Scenes no cuadradas**

Los comandos anteriores generan todas scenes de forma rectangular. Las scenes de Decentraland pueden tener forma de L u otras configuraciones. Puedes generar un cuadrado más grande con `npx update-parcels` y luego eliminar manualmente los parcels sobrantes del `scene.json` archivo.

{% hint style="warning" %}
**📔 Nota**: El parcel base debe ser uno de los parcels de la scene.
{% endhint %}

## Hora del día del Skybox

Puedes establecer una hora del día fija para tu scene. Todos los players verán la scene con esta hora del día, y el skybox no seguirá el ciclo día/noche.

Abre la configuración de la scene y haz clic en la **pestaña de Configuración** tab para encontrar la **Skybox** sección. Desmarca la **Auto** opción y establece la hora del día que quieras.

También puedes establecer la hora del día del skybox en el código de tu scene. Para ello, añade la siguiente sección a tu `scene.json` en el nivel raíz:

```json
 "skyboxConfig": {
    "fixedTime": 36000
  }
```

El número se refiere a la cantidad de segundos desde el inicio del día, y va de 0 (que representa *00:00*) a 86400 (que representa *24:00*). Cualquier número superior a 86400 también se interpreta como medianoche.

Aquí hay algunos ejemplos más de valores válidos:

* 0 segundos => *00:00*
* 21600 segundos => *06:00*
* 43200 segundos => *12:00*
* 64800 segundos => *18:00*
* 86400 segundos => *24:00*

## Terreno del paisaje

Las scenes publicadas en un [Decentraland World](https://github.com/decentraland/docs/tree/main/creator/worlds/about.md) están rodeadas por un paisaje generado automáticamente de pradera, árboles y mar. Si este paisaje no coincide con la estética de tu scene, por ejemplo una scene que flota en aguas abiertas o en el espacio, puedes desactivarlo. Para ello, añade el siguiente campo a tu `scene.json` en el nivel raíz:

```json
{
	"landscapeTerrain": false
}
```

Con `landscapeTerrain` configurado en `false`, no se renderiza nada más allá de los parcels de tu scene, y los players solo ven el skybox alrededor de la scene. Eliminar el terreno circundante también libera recursos de renderizado, lo que puede ayudar a que tu scene funcione con más fluidez.

Si el campo no está configurado, su valor predeterminado es `true` y el paisaje se muestra como de costumbre.

{% hint style="warning" %}
**📔 Nota**: Este campo solo se aplica a Worlds que contienen una sola scene. Se ignora en Genesis City, donde el entorno siempre lo determinan los parcels vecinos. También puedes usarlo mientras ejecutas una preview local de tu scene, para comprobar cómo se ve la scene sin el paisaje.
{% endhint %}

## Configuración de World

Al publicar en un [Decentraland World](/creator/content-creator-es/escenas-sdk7/publicacion/publishing-options.md#decentraland-worlds), `scene.json` file usando el `worldConfiguration` objeto.

### Configuración básica de World

Para publicar en un World, debes especificar el NAME o el dominio ENS en tu `scene.json`:

```json
{
	"worldConfiguration": {
		"name": "my-name.dcl.eth"
	}
}
```

La **name** especificado puede ser un Decentraland NAME o un dominio ENS y debe pertenecer al wallet que firma el deployment (o a cualquier wallet a la que se le haya dado permiso mediante Access Control Lists).

### Configuración del servicio de comunicación

La `fixedAdapter` la propiedad indica qué Communication Service debe usar la scene. Por ahora, solo se permite el `offline:offline` valor. Cuando se establece, la scene no tendrá ningún Communication Service, y cada usuario que se una a ese World estará siempre solo. Si no se establece, el content server de Worlds generará un valor adecuado según cómo esté configurado.

```json
{
	"worldConfiguration": {
		"name": "my-name.dcl.eth",
		"fixedAdapter": "offline:offline"
	}
}
```

{% hint style="warning" %}
**📔 Nota**: Estableciendo `fixedAdapter` en `"offline:offline"` (o habilitando **Single Player** en World Settings a través de Creator Hub) desactiva la transmisión en vivo. La función de streaming depende de la capa de comunicaciones para entregar video a los viewers. Si necesitas transmisión en vivo en tu world, no uses esta opción.
{% endhint %}

### Configuración del listado de Places

Todos los Worlds se incluyen automáticamente en la página de Places, a menos que optes por no hacerlo. Si deseas excluir tus Worlds de la indexación en Places, puedes añadir lo siguiente:

```json
{
	"worldConfiguration": {
		"name": "my-name.dcl.eth",
		"placesConfig": {
			"optOut": true
		}
	}
}
```

### Ejemplo completo

Aquí tienes un ejemplo completo con todas las opciones de configuración de World:

```json
{
	"worldConfiguration": {
		"name": "my-name.dcl.eth",
		"fixedAdapter": "offline:offline",
		"placesConfig": {
			"optOut": true
		}
	}
}
```

Consulta [Publicar en Worlds](/creator/content-creator-es/escenas-sdk7/publicacion/publishing.md#publishing-to-worlds) para más información sobre desplegar en Worlds.

## Obtener metadata desde el código de la scene

[Referencia de la API de Scene](https://js-sdk-toolchain.pages.dev/modules/js_runtime_apis.__system_Scene_)

Es posible que necesites el código de tu scene para acceder a campos de los metadata de la scene, como los parcels en los que se despliega la scene o las posiciones de los spawn points. Esto es especialmente útil para scenes que están pensadas para replicarse, o para código que se reutilizará en otras scenes. También es muy útil para libraries que necesitan saber dónde están los límites de la scene.

Para acceder a estos datos, primero importa la `getSceneInformation` función:

```ts
import { getSceneInformation } from '~system/Runtime'
```

Luego puedes llamar a la `getSceneInformation()` función, que devuelve un objeto JSON que incluye la mayor parte del contenido del archivo scene.json. El siguiente ejemplo muestra cómo acceder a varios de los campos más comunes de la respuesta de esta función:

```ts
import { getSceneInformation } from '~system/Runtime'

executeTask(async () => {
  const sceneInfo = await getSceneInformation({})

  if (!sceneInfo) return
  console.log("SCENE INFO: ", sceneInfo)
})
```

{% hint style="warning" %}
**📔 Nota**: `getSceneInformation()` debe ejecutarse como una [async function](/creator/content-creator-es/escenas-sdk7/patrones-de-programacion/async-functions.md), ya que la respuesta puede tardar una fracción de segundo o más en devolver datos. No uses la obsoleta `getSceneInfo()` función.
{% endhint %}

El objeto devuelto por `getSceneInformation()` incluye lo siguiente:

* `baseUrl`: La URL base donde se aloja el contenido de la scene
* `content`: Un array con todos los files de la scene, incluido su hash, que puede usarse junto con la baseUrl para recuperarlos.
* `metadataJson`: El contenido completo del scene.json de la scene, como una cadena. Debes analizarlo para obtener valores específicos.
* `urn`: El urn único para la scene en su conjunto.

El siguiente ejemplo analiza el contenido de `metadataJson` para obtener valores de las propiedades del file scene.json

```ts
import { getSceneInformation } from '~system/Runtime'

executeTask(async () => {
	const sceneInfo = await getSceneInformation({})

	if (!sceneInfo) return

	const sceneJson = JSON.parse(sceneInfo.metadataJson)
	const spawnPoints = sceneJson.spawnPoints
	const parcels = sceneJson.scene.parcels
	console.log({ parcels, spawnPoints })
})
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.decentraland.org/creator/content-creator-es/escenas-sdk7/tipos-de-proyectos/scene-metadata.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
