UltimateXR.Avatar Namespace


Public classUxrAvatar

Main class for avatars in the scene. An avatar is the visual representation of a user in the application. The minimal representation requires a single camera that allows the user to look around. More elements can be added such as hands to interact with the environment or a half/full body to have a more complete representation.

A special avatar is the local avatar, which is the avatar controlled by the user using the headset and input controllers. Non-local avatars are other avatars instantiated in the scene but not controlled by the user, either other users through the network or special cases such as automated replays. A quick way to access the local avatar is by using the UxrAvatar.LocalAvatar static property.

Although avatars may contain significant information and components, the avatar is not in charge of updating itself. Local avatars are updated by the UxrAvatarController added to the same GameObject where the UxrAvatar is. This allows to separate the update logic and functionality from the avatar representation. The standard avatar controller provided by UltimateXR is the UxrStandardAvatarController component. It provides high-level functionality to interact with the virtual world. Different update logic can be created by programming a new UxrAvatarController component if required.

Non-local avatars (Avatars whose UxrAvatar.AvatarMode is UpdateExternally) can be updated by accessing their rig using AvatarRig.

Local avatar update logic is handled automatically by the UxrManager singleton without requiring any user intervention.

Public classUxrAvatarEventArgs Base class for avatar events.
Public classUxrAvatarHandPoseChangeEventArgs Event args for a hand pose change in an UxrAvatar.
Public classUxrAvatarMoveEventArgs Contains information about an UxrAvatar that has moved/rotated. Avatars are moved/rotated through UxrManager functionality such as:    These methods will move/rotate the root transform of the avatar. If a user moves or rotates in the real-world, the camera transform will be updated but the root avatar transform will remain fixed. Only moving or teleporting the avatar will generate UxrAvatarMoveEventArgs events.
Public classUxrAvatarStartedEventArgs Arguments for the avatar started event.
Public classUxrAvatarSyncEventArgs Describes an event raised by an UxrAvatar that can also be played back. This facilitates the manipulation synchronization through network.
Public classUxrAvatarUpdateEventArgs Contains information about an avatar update event.
Public classUxrHandIntegration Component that allows to select different graphical variations for the hands that are shown grabbing the controllers using IK.


Public enumerationUxrAvatarMode Avatar operating modes.
Public enumerationUxrAvatarRenderModes Flags describing the different avatar render elements that can be enabled/disabled separately.
Public enumerationUxrAvatarSyncEventType Enumerates the different events that can be synced for networking using UxrAvatarSyncEventArgs .
Public enumerationUxrHandIntegration.GizmoHandSize Enumerates the supported gizmo hand sizes.