On this page

XrController QML Type

A tracked spatial node that tracks the position and orientation of an input controller. More...

Import Statement: import QtQuick3D.Xr
Since: Qt 6.8
Inherits:

Node

Status: Technology preview

This type is in technology preview and is subject to change.

Properties

Detailed Description

The XrController is a tracked spatial node that tracks the position and orientation of an input controller.

Since this is a tracked node, its spatial properties should be considered read-only. They are relative to the XrOrigin, which the XrController must be a child of.

See also XrInputAction and Coordinate Systems and Units in Qt Quick 3D Xr.

Property Documentation

controller : enumeration

Specifies the controller to track.

It can be one of:

ConstantDescription
XrController.LeftController 
XrController.RightController 
XrController.UnknownController 
XrController.LeftHand(alias for LeftController)
XrController.RightHand(alias for RightController)

isActive : bool [read-only]

Indicates whether the controller is providing input.

This property is true if the corresponding physical controller is present and tracking.

jointPositions : list<vector3d> [read-only]

When using hand tracking, this property holds the positions of all the bones in the hand, in the XrOrigin's coordinate system.

See also jointRotations, XrHandModel, and Coordinate Systems and Units in Qt Quick 3D Xr.

jointRotations : list<quaternion> [read-only]

When using hand tracking, this property holds the orientation of all the bones in the hand.

See also jointPositions and XrHandModel.

pokePosition : vector3d [read-only]

This property holds the position to be used for touch interactions. Typically, it will be the tip of the index finger when tracking a hand.

The position is in the XrOrigin's coordinate system. Convert it with mapPositionToScene before using it against scene content.

See also XrView::processTouch, XrView::setTouchpoint, and Coordinate Systems and Units in Qt Quick 3D Xr.

poseSpace : enumeration [default: XrController.AimPose]

Specifies the pose of the controller to track, that is, the orientation and position relative to the physical controller.

It can be one of:

ConstantDescription
XrController.AimPoseUsed when aiming at something, such as with XrVirtualMouse.
XrController.GripPoseUsed when grabbing something, such as when holding an object in the hand.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.