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 (SocialScape/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), defaultAccessType (Public / FriendsOfFriends / FriendsOnly / InviteOnly / Private). |
| Capacity | recommendedCapacity, maxCapacity (1–100). |
| Spawn points | primarySpawnPoint (required) + alternateSpawnPoints used when the primary is blocked. |
| Settings | allowVoiceChat + voiceProximityRange (player‑to‑player proximity voice), allowAvatarSwitching, respawnHeight (fall‑through respawn). |
| Players | defaultPlayerType (Standard / Arcade / Flight / Spectator), interPlayerCollision (are player bodies solid to each other). |
| Lighting | skyboxOverride, ambientColor. |
| Audio | backgroundMusic, musicVolume. |
Set a spawn point
A world needs at least a primarySpawnPoint, or players have nowhere to arrive. The descriptor draws spawn gizmos in the Scene view so you can place them.
Leave aiProviders empty
The WorldDescriptor.aiProviders field is legacy. AI providers now live in the Provider Manager and are resolved server‑side by handle — there's nothing to assign here.
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 movement & collision¶
defaultPlayerType sets how players move in your world. A script can override it per‑player at runtime.
| Type | Feel |
|---|---|
Standard |
Full‑physics grounded — walk/run/jump, rides platforms, can be pushed. The default. |
Arcade |
Kinematic and snappy — never shoved, deterministic. Competitive/precision worlds. |
Flight |
No gravity, free 3D movement. Space, flying mounts, drones. |
Spectator |
Noclip fly‑through — passes through geometry. Observers, photo mode. |
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¶
- Open
SocialScape ▸ Content Manager(theSDK Control Panelis the overall hub). - Select your world and build — the SDK packages it into an asset bundle and captures a thumbnail.
- 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.
Next¶
- Add moving platforms, ride zones, jump pads, teleporters → World Objects
- Make it interactive → NexusScript
- Add a character → AI NPCs
- Custom characters → Avatars