The tracked-controls component interfaces with tracked controllers. tracked-controls uses the Gamepad API to handle tracked controllers, and is abstracted by the hand-controls component as well as the vive-controls and oculus-touch-controls components. This component elects the appropriate controller, applies pose to the entity, observes buttons state and emits appropriate events.


Note that due to recent browser-specific changes, Vive controllers may be returned by the Gamepad API with id values of either “OpenVR Gamepad” or “OpenVR Controller”, so using idPrefix for Vive / OpenVR controllers is recommended.

<a-entity tracked-controls="controller: 0; idPrefix: OpenVR"></a-entity>


PropertyDescriptionDefault Value
controllerIndex of the controller in array returned by the Gamepad API.0
idSelects the controller from the Gamepad API using exact match.
idPrefixSelects the controller from the Gamepad API using prefix match.


Event NameDescription
axismoveAxis changed.
buttonchangedAny touch or press of a button fires this.
buttondownButton pressed.
buttonupButton released.
touchstartTouch sensitive button touched.
touchendTouch sensitive button released.

More Resources