Avatar Attachment Package

Avatar attachments are items that can be held, equipped, or worn by avatars. The package is flexible, supporting a wide variety of assets.

Note

This package type is currently still under development. Please let us know on Slack or Discord if you have any feedback as we develop this feature.

What can I make?

  • Auras: Particle effects around the avatar
  • Weapons: Swords, Pistols, Shields
  • Accessories: Jetpacks, Wings, Hats, Gloves, Boots
  • Rideables: Skateboards, Hoverboards
  • Pets: For World scope, you can create attachments that come with scripting components. This allows you to write your own logic for how the attachment follows your avatar.

Check out the Space Gun Template for an example of an Avatar Attachment package. The video below demonstrates an Avatar Aura attachment.

Core Concepts

The simplest attachment is a 3D model that is attached to an avatar in a given slot. However, it can have additional functionality.

  • Attachment Slot: Each attachment defines a primary slot and additional slots. Players can only equip a single attachment for a given slot.
  • Category: Each attachment needs to assign a category, this will be used to group similar items in the player’s backpack

Feature Overview

FeatureExplanationStatus
SkinningSkinned attachments are basic models that are skinned to the Avatar’s bone skeleton. When the avatar animates, the attachment mesh deforms with it.Ready
Bone AttachmentWhen this option is enabled you can select a bone to parent the attachment to. For example, a “Can of Coke” can be parented to the avatar’s Right Hand.Ready
IK SettingsAttachments can force one of four Avatar IK points (2 hands, 2 feet) to a specified target transform. For example, for a “Bicycle” attachment, you’ll want to IK the hands to the handle bar.Ready
Custom ActionsAttachments can give avatars additional abilities. For example, a sword attachment could define two custom actions: Attack and Block. With custom actions you will be able to specify additional avatar animations to play.In Progress
Avatar Animation SettingsAttachments can optionally override the avatar animations for its default clips. For example, if the avatar is running with a heavy sword, you may want a slightly different walk/jog/run animation. Or as a different example, for a hoverboard attachment, the avatar animations can be overridden to match the pose for standing on a hoverboard. These settings also allow you to set if an attachment is visible or not while a specific avatar animation clip is playing. Same for IK settingsReady
Attachment Animation SettingsAllows you to set animation clips to play in sync with the avatar. For example, when the avatar “jump” animation is playing, you can set what the “jump” animation should be on the attachment. These animations are synchronized between the avatar and the attachment. This is the key feature that allows you to create a hoverboard where the jump animation looks like the avatar is jumping with the board.Ready

Limitations

We enforce level-of-detail limitations to ensure all supported devices can load and render these attachments. While the universal scope may look very limiting, remember that users can have multiple attachments equipped, so this can quickly blow through memory and rendering performance budgets.

For example, if you are in an experience with 50 users, and each user has 4 attachments equipped, that’s 50 avatars and 200 potentially unique attachments that need to be in memory and rendered (which is a lot to load and render).

The limits are much higher for World scope in order to give creators the flexibility to control budgets and quality. Participant counts can be limited to lower player counts, such as 5, which allows more room in memory for larger higher quality attachments.

TypeUniversal ScopeWorld Scope
Vertex Count Limit250025000
Triangle Count Limit100015000
Sub Mesh Count Limit15
Minimum Bounds Size0.01 meters0.01m
Maximum Bounds Size3m25m
Texture Memory Budget2MB10MB