Skip to content

Avatars

An avatar is a character players wear. You mark a rigged model with an AvatarDescriptor, configure how it moves and emotes, then build and upload it like a world.

Mark the avatar root

Add an AvatarDescriptor (SocialScape/Avatar Descriptor) to the root of your rigged model. One per avatar.

Configure it

Group Fields
Avatar settings First‑person eye position, voice source position, default scale.
Animation layers Base layers (locomotion, gesture, action) + optional special layers, each an animator controller.
Expressions An expression menu + parameters players can drive.
Eye & lipsync Eye‑movement tracking (eye bones), blink blendshapes, and viseme lipsync (15 visemes) on the body mesh.
Bone references Head bone (and optional neck) for look/IK.
Customization Allow recoloring + which materials can be recolored.

Lipsync brings NPCs and voice to life

If your avatar will be used for a voiced AI NPC or proximity voice, set up the viseme blendshapes so the mouth moves with speech.

Build & upload

Same flow as worlds — SocialScape ▸ Content Manager:

  1. Select the avatar and build (the SDK validates the rig and captures a thumbnail).
  2. Upload — the first upload assigns a GUID (the avatar's permanent identity) and a content id. The GUID is shown on the AvatarDescriptor under Upload Identity and is saved onto the avatar, so every later upload updates the same avatar instead of creating a duplicate.

Avatars have a smaller size budget than worlds; the SDK reports the limit and any validation errors at build time. Fix them before uploading.

Re-uploading

When you re‑upload an existing avatar, 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 capture a fresh one.

Updating an avatar vs. making a new one

Upload from the same prefab and its GUID links the update to the right record. To point a model at a different existing avatar, paste that avatar's GUID into Upload Identity on the AvatarDescriptor before uploading. (There's no separate "GUID script" — it's a field on the descriptor.)

Using avatars in a world

Whether players can switch avatars in a given world is controlled by allowAvatarSwitching on that world's WorldDescriptor.