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:
- Select the avatar and build (the SDK validates the rig and captures a thumbnail).
- Upload — the first upload assigns a GUID (the avatar's permanent identity) and a content id. The GUID is shown on the
AvatarDescriptorunder 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.