Skip to content

Worlds

A world is a Unity scene you build and upload; players join instances of it. You mark the scene as a world with a WorldDescriptor, configure it, then build and upload — your scripts and AI NPCs travel inside it.

Mark the world root

Add a WorldDescriptor component (Social Scape/World Descriptor) to the root GameObject of your world. This is what the SDK analyzes and uploads. One per world.

Configure it

Group Fields
World info worldType (Social / Game / Private / Event / Education).
Capacity recommendedCapacity, maxCapacity (1–200).
Spawn points Add a SpawnPoint component to an object in the world (that alone is enough), or wire primarySpawnPoint + alternateSpawnPoints on the descriptor.
Settings allowVoiceChat + voiceProximityRange (player‑to‑player proximity voice), allowAvatarSwitching (legacy — superseded by the Avatar Policy component; the toggle alone isn't enforced), respawnHeight (the always‑on fall safety net — see note).
Players interPlayerCollision (are player bodies solid to each other).
Lighting skyboxOverride, ambientColor.
Audio backgroundMusic, musicVolume.

respawnHeight is an always-on safety net

A player who drops below respawnHeight (default -100) is always reset to their checkpoint — so a fall off the map or through the floor can't drop forever. Set the line just below your lowest reachable point. You can change what happens with the Set Height-Respawn action or Player.SetHeightRespawn: Safe respawn (reset, no death — the default), Death (ragdoll, then respawn), or Off to disable it entirely. See Combat, health & respawn.

Set a spawn point

A world needs at least one spawn point, or players have nowhere to arrive. Easiest: add a SpawnPoint component (Social Scape/Spawn Point) to an empty GameObject where players should appear — the SDK finds it automatically. You can also assign primarySpawnPoint/alternateSpawnPoints on the descriptor. Spawn gizmos draw in the Scene view.

Player voice is automatic

allowVoiceChat enables player‑to‑player proximity voice across the world, enforced server‑side, with falloff set by voiceProximityRange. You don't place anything on player prefabs for this. (NPC speech is separate — see Voice.)

Player collision

Players use a standard full‑physics grounded body — walk/run/jump, rides platforms, can be pushed.

interPlayerCollision makes player bodies solid to each other. It's off by default — players pass through one another, the social norm. Turn it on for games where bumping, blocking, or standing on each other matters. Avatar colliders never affect the player body, so cloth and accessories won't snag other players.

What travels with the world

When you upload, the world bundle includes your scene, your NexusScripts, and your AI NPC configuration. Provider keys do not — those stay on your account and are resolved by handle at runtime.

Build & upload

  1. Open Social Scape ▸ Content Manager (the SDK Control Panel is the overall hub).
  2. Select your world and build — the SDK packages it into an asset bundle and captures a thumbnail.
  3. Upload. The first upload assigns the world a GUID (its permanent identity, shown on the WorldDescriptor) and a content id. The GUID is saved onto the world, so later uploads update the same world rather than creating a duplicate.

Re-uploading

When you re‑upload an existing world, the form pre‑fills its current name, description, and tags from the server — edit only what changed. Tick "Don't override picture" to keep the existing thumbnail, or leave it off to refresh it from the current view.

Size limits and validation are checked at build time — fix any errors the SDK reports before uploading.

First build compiles shaders — and the SDK trims them for you

Your first build of a world (or one right after importing a big asset pack) shows Unity compiling shader variants — that's normal, and it's cached, so later builds are fast. A world bundle carries its own copy of the shaders your materials use, and a single shader like URP/Lit has 100,000+ possible variants, so the SDK automatically strips the variants your scene can't use as it builds — realtime GI, debug, baked‑lightmap keywords when nothing is baked, and fog modes you don't use (the build log prints how many). The two things you control that keep the count — and your world's download size — lowest: bake your lighting and turn off fog you don't need. If a world ever looks wrong after a build, disable this under Social Scape ▸ SDK ▸ Aggressive World Shader Stripping and rebuild.

Protecting your world

The upload form has an "Encrypt this asset" option, ticked by default — your world is protected by Aegis: encrypted on your machine before upload and kept encrypted in every player's cache, so the raw scene can't be copied off disk and opened in an extraction tool. Decryption is automatic and streamed, so even large worlds load with no extra wait. Leave it on unless you deliberately want to publish the world openly; you can change it on any re‑upload.

→ How it works and why it's safe: Aegis content protection.

Next

  • Add moving platforms, gravity zones (walkable ships), jump pads, teleporters → World Objects
  • Make it interactive → NexusScript
  • Add a character → AI NPCs
  • Custom characters → Avatars