> 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/scenes-sdk7/tipos-de-proyectos/scene-metadata.md).

# Metadata de la Scene

Una scene es un proyecto de Decentraland que está delimitado espacialmente y se asigna a una o varias parcelas. Si una scene se despliega en el mapa de Decentraland Genesis City, los jugadores pueden experimentarla visitando las coordenadas de la scene. Si una scene se despliega en un [World](/creator/content-creator-es/worlds/about.md), los jugadores pueden visitarla mediante URL.

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

## Metadata

Para editar la metadata de una escena en el [Scene Editor en Creator Hub](/creator/content-creator-es/scene-editor/comenzar/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 `scene.json` archivo, donde se almacenan todos estos valores.

{% hint style="warning" %}
**📔 Nota**: No agregues 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 scene un título, una descripción y una imagen en miniatura para atraer jugadores y ayudarlos 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/scenes-sdk7/interactividad/external-links.md) allí por otra scene. Configurar datos atractivos aquí puede ayudar significativamente a atraer 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)

Agrega 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 y 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 contactarte, también puedes agregar información de contacto a tu escena.

## Categorías

Puedes agregar 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
* 🪙 Cripto
* 📚 Educación
* 🛍️ Tienda
* 🏢 Negocios
* 🏅 Deportes
* 🏃 Parkour

Una scene 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 scene podría etiquetarse como `game` y `casino` agregando lo siguiente al `scene.json`

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

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

## Clasificación por edad

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

* **🟡 `A` para adultos (18+)**: Este es el requisito mínimo de edad según lo especificado en los [Términos de uso](https://decentraland.org/terms). Elige esta categoría si tu scene incluye contenido adecuado 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 a través del `scene.json`, la clasificación es un **código de una sola letra**, escribe **A** para adultos.

![](/files/707773abf60b8ed92e201156182b3d8b02fa9a5a)

```json
 "scene": {
    "rating": "A"
  }
```

### Contenido restringido

Hay una tercera categoría para las scenes: 🔴 `R` para Restringido. Esta clasificación la aplican manualmente los Moderadores de contenido a las scenes que violan la [Política de contenido](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 bullying
* Promoción del terrorismo/violencia
* Infracción de propiedad intelectual/derechos de autor

Las scenes con esta clasificación no se cargarán y nadie podrá interactuar con ellas. Si tu scene entra en esta categoría, debes revisarla y actualizarla para cumplir con la [Política de contenido](https://decentraland.org/content).

## Feature Toggles

Hay ciertas funcionalidades que pueden deshabilitarse en scenes específicas para que los jugadores no puedan usarlas de forma abusiva. Configúralas en la pestaña de **Configuración** de la configuración de la scene.

![](/files/1b6d21142ab67d19254ca5ab40553928e52e2a80)

Actualmente, solo se maneja así la siguiente funcionalidad:

* **Chat de voz**: Se refiere a jugadores que usan sus micrófonos para conversar por chat de voz con otros jugadores cercanos.
* **Deshabilitar experiencias portátiles**: Esta configuración definirá el comportamiento de cualquier experiencia portátil de un jugador mientras esté dentro de tu scene. Esto incluye no solo [experiencias portátiles](/creator/content-creator-es/scenes-sdk7/tipos-de-proyectos/portable-experiences.md) sino también [smart wearables](/creator/content-creator-es/scenes-sdk7/tipos-de-proyectos/smart-wearables.md). Con esta configuración, puedes elegir mantenerlas todas habilitadas (predeterminado), deshabilitarlas u ocultar su UI. Esto es útil para scenes en las que las experiencias portátiles podrían dar una ventaja injusta a algunos jugadores, por ejemplo al usar un jetpack en un desafío de parkour. También se recomienda evitar esto en scenes donde ocurren transacciones en blockchain y donde una experiencia portátil maliciosa podría hacerse pasar potencialmente por la UI de la scene.

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

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

Si una `featureToggles` property doesn't exist in your `scene.json` archivo, créala en el nivel raíz del árbol JSON.

### Propinas

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

![](/files/a7a2813c52e82f917a9da1ba5bbab595a08db5b3)

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

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

Cuando un jugador visita tu scene, verá un icono de alcancía en la parte 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 scene en el mapa.

![](/files/973604b6e08c52924fa0cbc37e3bce3f4c589543)

El modal de propinas 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 NAME de Decentraland, este modal mostrará el nombre del propietario de la wallet junto a 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.

## Lugar de aparición

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

![](/files/ac4406cad2f8841cf738daef370179f47197a876)

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

La posición consiste en coordenadas dentro de la scene. Estos números se refieren a una posición dentro de la parcela, similar a lo que usarías en el código de la scene en un componente Transform para [posicionar una entidad](/creator/content-creator-es/scenes-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 scene. No puedes hacer aparecer a un jugador fuera del espacio de estas parcelas.
{% endhint %}

Marca la **Casilla de desplazamiento aleatorio** 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 aparecen, lo cual se ve especialmente mal en escenas concurridas. El valor de **Desplazamiento máximo** es la distancia máxima posible desde el punto de aparición original, tanto en los ejes X como Z.

Establece el **Objetivo de la cámara** para controlar la dirección hacia la que miran los jugadores cuando entran en tu scene. Esto te da un mejor control sobre su primera impresión y puede ayudar a guiarlos hacia una dirección específica. De forma predeterminada apunta a `{x: 8, y:1, z:8}`, que es el centro de la scene para scenes de una sola parcela, o el centro de la parcela inferior izquierda para scenes más grandes.

Haz clic en **Agregar 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 el `spawnPoints` campo.

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

Una sola scene puede tener múltiples puntos de aparición. Esto es especialmente útil en scenes 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 múltiples 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 `predeterminado`, siempre se utilizará, independientemente de si es el más cercano. Si varios puntos de aparición están marcados como `predeterminado`, 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 en la scene para que actúe como punto de aparición. Al especificar un array de dos números para cualquier 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.

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

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

Una scene también puede tener múltiples regiones de aparición, igual que puede tener múltiples 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 agrega un `cameraTarget` campo a los datos del punto de aparición. El valor de `cameraTarget` debe hacer referencia a una ubicación en el espacio, con *x*, *y* y *z* coordenadas relativas a la scene, igual que la `position` campo.

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

Este ejemplo hace aparecer a un jugador en *5, 1, 4* mirando hacia el 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 múltiples puntos de aparición, cada uno puede tener su propio objetivo independiente.

## Permisos requeridos

El `requiredPermissions` la propiedad gestiona varias funcionalidades controladas que podrían usarse de forma abusiva y perjudicar la experiencia de un jugador.

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

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

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

Actualmente, los siguientes permisos se gestionan en smart wearables y experiencias portátiles:

* `ALLOW_TO_MOVE_PLAYER_INSIDE_SCENE`: Se refiere a [mover a un jugador](/creator/content-creator-es/scenes-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/scenes-sdk7/interactividad/player-avatar.md#play-animations)
* `USE_WEB3_API`: Se refiere a interactuar con las wallets del navegador del jugador para realizar 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` property doesn't exist in your `scene.json` archivo, créala en el nivel raíz del árbol JSON.

## Parcelas de la scene

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

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

![](/files/4af1a7c932e612aad846331c3fa69df9951eb3f0)

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

![](/files/fa794278bb0105866e888649fcd46b3ee09127ce)

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

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

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

El `base` el campo define qué parcela considerar como la parcela base. Si tu scene tiene una sola parcela, la base debería ser esa parcela. Si tu scene tiene múltiples parcelas, la base debería ser la parcela inferior izquierda (suroeste). Todas las posiciones de las entidades se miden con respecto a la esquina suroeste de esta parcela.

Para mostrar múltiples parcelas en la vista previa de la scene, enumera tantas parcelas como pienses usar. No necesitan ser exactamente las parcelas a las que desplegarás, pero todas deben ser adyacentes y estar organizadas 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 scene que puedes establecer es de 45 x 45 parcelas.
{% endhint %}

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

Puedes establecer las parcelas de tu scene ejecutando el `npx update-parcels` comando en la carpeta de tu scene. Esto es especialmente útil para scenes grandes, ya que no necesitas enumerar todas las parcelas involucradas.

**Parcela única**

Pasa un solo argumento con las coordenadas de la scene. 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 es siempre 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 scene 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**: La parcela base debe ser una de las parcelas de la scene.
{% endhint %}

**Scenes no cuadradas**

Los comandos anteriores generan 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 las parcelas sobrantes del `scene.json` archivo.

{% hint style="warning" %}
**📔 Nota**: La parcela base debe ser una de las parcelas de la scene.
{% endhint %}

## Hora del día del skybox

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

Abre la configuración de la scene y haz clic en la **Configuración** pestaña para encontrar la sección **Skybox** . Desmarca la opción **Auto** 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 hacerlo, agrega la siguiente sección a tu `scene.json` en el nivel raíz:

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

El número se refiere al número de segundos transcurridos desde el inicio del día, variando de 0 (que representa *00:00*) a 86400 (que representa *24:00*). Cualquier número mayor que 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*

## Configuración de World

Al publicar en un [World de Decentraland](/creator/content-creator-es/worlds/about.md), puedes configurar varios ajustes específicos de World en tu `scene.json` archivo usando el objeto `worldConfiguration` .

### Configuración básica de World

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

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

El **name** especificado puede ser un NAME de Decentraland o un dominio ENS y debe pertenecer al wallet que firma la implementación (o a cualquier wallet al que se le haya otorgado permiso mediante Listas de Control de Acceso).

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

El `fixedAdapter` indica qué Communication Service debe usar la scene. Por ahora, solo se permite el `offline:offline` está permitido. Cuando se establece, la scene no tendrá ningún Communication Service y cada usuario que entre en ese World estará siempre solo. Si no se establece, el servidor de contenido 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**: Establecer `fixedAdapter` en `"offline:offline"` (o habilitar **Single Player** en World Settings a través de Creator Hub) deshabilita el streaming en vivo. La función de streaming depende de la capa de comunicaciones para entregar video a los espectadores. Si necesitas streaming en vivo en tu World, no uses esta opción.
{% endhint %}

### Configuración del listado en Places

Todos los Worlds se enumeran automáticamente en la página de Places a menos que optes por excluirlos. Si deseas excluir tus Worlds de la indexación en Places, puedes agregar 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
		}
	}
}
```

Ver [Publicar en Worlds](/creator/content-creator-es/scenes-sdk7/publicacion/publishing.md#publishing-to-worlds) para más información sobre cómo implementar en Worlds.

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

[Referencia de la API de la 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 la metadata de la scene, como los parcels a los que se despliega la scene, o las posiciones del spawn point. Esto es especialmente útil para scenes que están pensadas para ser replicadas, o para código que está pensado para reutilizarse en otras scenes. También es muy útil para las 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 ejemplo siguiente 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()` necesita ejecutarse como una [async function](/creator/content-creator-es/scenes-sdk7/patrones-de-programacion/async-functions.md), ya que la respuesta puede tardar una fracción de segundo o más en devolver los datos. No uses la función obsoleta `getSceneInfo()` .
{% 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 archivos de la scene, incluido su hash, que puede utilizarse 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 ejemplo siguiente analiza el contenido de `metadataJson` para obtener valores de propiedades en el archivo 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/scenes-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.
