Build with Meta
Social Technologies
Meta Horizon
AI
Horizon Worlds
About us
Careers
Research
Products
Virtual reality / Meta Horizon
Developer Blog
Download SDKs
Meta for Work
Programs
Start
Meta Horizon Creator Program
Discover
Why Meta Quest?
What is mixed reality?
Platforms and tools
2D apps for Meta Horizon OS
Devices
Meta Avatars
Success stories
Use cases
Support and legal
Developer policies
Legal
Privacy
Forums
Support
Build with Meta
Social Technologies
Meta Horizon
AI
Horizon Worlds
About us
Careers
Research
Products
Virtual reality / Meta Horizon
Developer Blog
Download SDKs
Meta for Work
Programs
Start
Meta Horizon Creator Program
Discover
Why Meta Quest?
What is mixed reality?
Platforms and tools
2D apps for Meta Horizon OS
Devices
Meta Avatars
Success stories
Use cases
Support and legal
Developer policies
Legal
Privacy
Forums
Support
Build with Meta
Social Technologies
Meta Horizon
AI
Horizon Worlds
About us
Careers
Research
Products
Virtual reality / Meta Horizon
Developer Blog
Download SDKs
Meta for Work
Programs
Start
Meta Horizon Creator Program
Discover
Why Meta Quest?
What is mixed reality?
Platforms and tools
2D apps for Meta Horizon OS
Devices
Meta Avatars
Success stories
Use cases
Support and legal
Developer policies
Legal
Privacy
Forums
Support
English (US)
© 2025 Meta
API reference
API reference
Select your platform
No SDKs available
No versions available
Overview
AlertViewHUD
Boundary
BoundaryTestResult
Fusion
AvatarBehaviourFusion
AvatarSpawnerFusion
CustomMatchmakingFusion
CustomNetworkObjectProvider
FusionBBEvents
FusionNetworkBootstrapper
LipSyncPhotonFix
PlayerNameTagFusion
PlayerNameTagSpawnerFusion
TransferOwnershipFusion
VoiceSetup
IOVRAnchorComponent
InlineLinkAttribute
Meta
XR
BuildingBlocks
BuildingBlocks
BuildingBlock
ControllerButtonsMapper
ControllerButtonsMapper
ButtonClickAction
InstallationRoutineCheckpoint
PassthroughProjectionSurfaceBuildingBlock
RoomMeshEvent
RunTimeUtils
SharedSpatialAnchorCore
SpatialAnchorCoreBuildingBlock
SpatialAnchorLoaderBuildingBlock
SpatialAnchorLocalStorageManagerBuildingBlock
SpatialAnchorSpawnerBuildingBlock
VariantCheckpoint
EnvironmentDepth
EnvironmentDepth
EnvironmentDepthManager
ImmersiveDebugger
ImmersiveDebugger
CustomIntegrationConfig
CustomIntegrationConfigBase
DebugData
DebugInspector
DebugMember
ExampleCustomIntegrationConfig
Gizmo
Gizmo
DebugGizmos
ICustomIntegrationConfig
InspectedData
RuntimeSettings
UserInterface
UserInterface
CategoryButton
Console
ConsoleLine
DebugBar
DebugInterface
DebugPanel
Generic
Generic
Background
Button
ButtonWithIcon
ButtonWithLabel
Controller
Cursor
Dropdown
Flex
Icon
Image
ImageStyle
InteractableController
Interface
Label
LayoutStyle
OverlayCanvas
OverlayCanvasPanel
Panel
PointerHandler
ScrollView
ScrollViewport
Slider
Style
Switch
TextArea
TextStyle
Toggle
PanelInputModule
Value
Values
InputActions
InputActions
InputActionDefinition
InputActionSet
RuntimeSettings
UserInputActionSet
MultiplayerBlocks
Colocation
Fusion
Fusion
AvatarBehaviourFusion
AvatarSpawnerFusion
CustomMatchmakingFusion
CustomNetworkObjectProvider
FusionBBEvents
FusionNetworkBootstrapper
LipSyncPhotonFix
PlayerNameTagFusion
PlayerNameTagSpawnerFusion
TransferOwnershipFusion
VoiceSetup
NGO
NGO
AutoMatchmakingNGO
AvatarBehaviourNGO
AvatarSpawnerNGO
ClientNetworkTransform
CustomMatchmakingNGO
NGONetworkBootstrapper
PlayerNameTagNGO
PlayerNameTagSpawnerNGO
TransferOwnershipNGO
Shared
Shared
ColocationController
CustomMatchmaking
CustomMatchmaking
ICustomMatchmakingBehaviour
RoomCreationOptions
RoomOperationResult
IAvatarBehaviour
IAvatarStreamConfig
INameTagSpawner
ITransferOwnership
PlayerNameTagSpawner
TransferOwnershipOnSelect
Samples
Telemetry
SampleTelemetryEvents
AnnotationTypes
EventTypes
Util
OVR
Scripts
Input
Input
UIButtonSquishHelper
OVRAnchor
OVRAnchor
FetchOptions
Tracker
TrackerConfiguration
OVRAnchorContainer
OVRAudioSourceTest
OVRAutoDestroyInMRC
OVRBody
OVRBone
OVRBoneCapsule
OVRBoundary
OVRBoundary
BoundaryTestResult
OVRBounded2D
OVRBounded3D
OVRBuildInfo
OVRCameraRig
OVRChromaticAberration
OVRColocationSession
OVRColocationSession
Data
OVRControllerDrivenHandPosesSample
OVRControllerHelper
OVRControllerTest
OVRControllerTest
BoolMonitor
OVRCubemapCapture
OVRCursor
OVRCustomFace
OVRCustomFaceExtensions
OVRCustomSkeleton
OVRDebugHeadController
OVRDebugInfo
OVRDisplay
OVRDisplay
EyeFov
EyeRenderDesc
LatencyData
OVRDynamicObject
OVREnumExtensions
OVRExtensions
OVREyeGaze
OVRFace
OVRFace
IMeshWeightsProvider
OVRFaceExpressions
OVRFaceExpressions
FaceExpressionsEnumerator
WeightProvider
OVRGLTFAccessor
OVRGLTFAnimatinonNode
OVRGLTFAnimationNodeMorphTargetHandler
OVRGLTFLoader
OVRGLTFScene
OVRGazePointer
OVRGrabbable
OVRGrabber
OVRGridCube
OVRHand
OVRHandTest
OVRHandTest
BoolMonitor
OVRHandTrackingWideMotionModeSample
OVRHaptics
OVRHaptics
Config
OVRHapticsChannel
OVRHapticsClip
OVRHeadsetEmulator
OVRHumanBodyBonesMappingsInterface
OVRInput
OVRInput
HapticsAmplitudeEnvelopeVibration
HapticsPcmVibration
OVRControllerBase
OVRControllerBase
VirtualAxis1DMap
VirtualAxis2DMap
VirtualButtonMap
VirtualNearTouchMap
VirtualTouchMap
OVRControllerGamepadPC
OVRControllerHands
OVRControllerLHand
OVRControllerLTouch
OVRControllerRHand
OVRControllerRemote
OVRControllerTouch
OpenVRControllerDetails
OVRInputRayData
OVRKeyboard
OVRKeyboard
TrackedKeyboardInfo
TrackedKeyboardState
OVRKtxTexture
OVRLayerAttribute
OVRLocatable
OVRLocatable
GetSceneAnchorPosesJob
GetSpatialAnchorPosesJob
SetLocalSpaceTransformsJob
SetWorldSpaceTransformsJob
TrackingSpacePose
TransformPosesJob
OVRManager
OVRManager
EventListener
PassthroughCapabilities
OVRMaterialData
OVRMesh
OVRMesh
IOVRMeshDataProvider
OVRMeshAttributes
OVRMeshData
OVRMeshJobs
OVRMeshJobs
NativeArrayHelper
TransformToUnitySpaceJob
TransformTrianglesJob
OVRMeshRenderer
OVRMeshRenderer
IOVRMeshRendererDataProvider
MeshRendererData
OVRMixedRealityCaptureTest
OVRModeParms
OVRMonoscopic
OVRNativeBuffer
OVRNativeList
OVRNativeList
CapacityHelper
OVRNetwork
OVRNetwork
OVRNetworkTcpClient
OVRNetworkTcpServer
OVRNodeStateProperties
OVROverlay
OVROverlay
LayerTexture
OVROverlayCanvas
OVROverlayCanvasSettings
OVROverlayMeshGenerator
OVRPassthroughColorLut
OVRPassthroughLayer
OVRPermissionsRequester
OVRPlatformMenu
OVRPlayerController
OVRPointerVisualizer
OVRPose
OVRProfile
OVRProgressIndicator
OVRRayHelper
OVRRayTransformer
OVRRaycaster
OVRResetOrientation
OVRResources
OVRResult
OVRRoomLayout
OVRRuntimeAssetsBase
OVRRuntimeController
OVRRuntimeSettings
OVRScene
OVRSceneAnchor
OVRSceneLoader
OVRSceneManager
OVRSceneManager
Classification
RoomLayoutInformation
OVRSceneModelLoader
OVRSceneObjectTransformType
OVRScenePlane
OVRScenePlaneMeshFilter
OVRScenePrefabOverride
OVRSceneRoom
OVRSceneSampleController
OVRSceneVolume
OVRSceneVolumeMeshFilter
OVRScreenFade
OVRSemanticClassification
OVRSemanticLabels
OVRSharable
OVRSimultaneousHandsAndControllersSample
OVRSkeleton
OVRSkeleton
IOVRSkeletonDataProvider
SkeletonPoseData
OVRSkeletonRenderer
OVRSkeletonRenderer
IOVRSkeletonRendererDataProvider
SkeletonRendererData
OVRSpace
OVRSpaceUser
OVRSpatialAnchor
OVRSpatialAnchor
EraseOptions
LoadOptions
SaveOptions
UnboundAnchor
OVRSpectatorModeDomeTest
OVRStorable
OVRSystemPerfMetrics
OVRSystemPerfMetrics
OVRSystemPerfMetricsTcpServer
PerfMetrics
OVRTask
OVRTask
Awaiter
OVRTaskBuilder
OVRTextureData
OVRTrackedKeyboard
OVRTrackedKeyboard
TrackedKeyboardSetActiveEvent
TrackedKeyboardVisibilityChangedEvent
OVRTrackedKeyboardHands
OVRTrackedKeyboardHands
TrackedKeyboardHandsVisibilityChangedEvent
OVRTrackedKeyboardSampleControls
OVRTracker
OVRTracker
Frustum
OVRTriangleMesh
OVRUnityHumanoidSkeletonRetargeter
OVRUnityHumanoidSkeletonRetargeter
JointAdjustment
OVRHumanBodyBonesMappings
OVRSkeletonMetadata
OVRSkeletonMetadata
BoneData
OVRVignette
OVRVirtualKeyboard
OVRVirtualKeyboard
AbstractTextHandler
ITextHandler
InteractorRootTransformOverride
WaitUntilKeyboardVisible
OVRVirtualKeyboardInputFieldTextHandler
OVRVirtualKeyboardSampleControls
OVRVirtualKeyboardSampleInputHandler
OVRWaitCursor
OperationResultExtensions
ProcessPort
RoomMeshAnchor
SharedSpatialAnchorErrorHandler
Code samples
Downloads
Release notes
Supported platforms
OVRBody
​
Back to Supported platforms
OVRBody Class
Extends
MonoBehaviour,
IOVRSkeletonDataProvider
,
IOVRSkeletonRendererDataProvider
This class implements
OVRSkeleton.IOVRSkeletonDataProvider
in order to provide body tracking data per frame, and is responsible for stopping and starting body tracking.
Furthermore, it defines the skeleton type and implements
OVRSkeletonRenderer.IOVRSkeletonRendererDataProvider
in case the body tracking state needs to be provided to renderer-based classes. Use this class to read body tracking pose data, accessible via
OVRSkeleton.IOVRSkeletonDataProvider.GetSkeletonPoseData
, to drive the bone transforms of a character, or to use for pose estimation purposes. For more information, see
Body Tracking for Movement SDK for Unity
.
Typically, you would use this in conjunction with an
OVRSkeleton
in order to transform bones and/or an
OVRSkeletonRenderer
to render them.
Properties
OVRPlugin.BodyJointSet
ProvidedSkeletonType
[Get]
The skeleton type joint set that is used when updating the body state.
Change this value based on the joint set that is compatible with your character.
OVRPlugin.? BodyState
BodyState
[Get]
The raw
BodyState
data used to populate the
OVRSkeleton
.
Query this value for metadata associated with
BodyState
, such as joint locations or confidence values.
static OVRPlugin.BodyTrackingFidelity2
Fidelity
[Get]
This field manages body tracking fidelity, which is associated with body tracking quality that is currently being used in an app.
Fidelity is determined by the app's runtime settings as well as the capabilities of the device that is runs on.
Static Member Functions
static bool
SetRequestedJointSet
( OVRPlugin.BodyJointSet jointSet )
Attempts to set the requested joint set.
If you call this function and request a joint set that is not supported, you will get a false value returned as a result.
Parameters
jointSet
The requested joint set.
Returns
true if joint set requested was set; false if not.
static bool
SuggestBodyTrackingCalibrationOverride
( float height )
Runs body tracking calibration with the height specified in meters.
Use this function to enforce the height of the user.
Parameters
height
The height in meters.
Returns
true if the height calibration worked, false if not.
static bool
ResetBodyTrackingCalibration
( )
Resets body tracking calibration.
Returns
true if body tracking calibration was successful; false if not.
Member Functions
OVRPlugin.BodyTrackingCalibrationState
GetBodyTrackingCalibrationStatus
( )
Returns the current body tracking calibration status.
Returns
Body calibration status in the form of OVRPlugin.BodyTrackingCalibrationState.
OVRPlugin.BodyTrackingFidelity2
GetBodyTrackingFidelityStatus
( )
This function returns the current body tracking fidelity.
Use this function to understand the visual fidelity of body tracking of your app during runtime.
Returns
Body tracking fidelity as OVRPlugin.BodyTrackingFidelity2.
Did you find this page helpful?
Why Meta Quest?
Design
Develop
API reference
Distribute
Blog
Support
Login