• Public
  • Public/Protected
  • All

The schema of motion controller layout. No object will be initialized using this interface This is used just to define the profile.


  • IMotionControllerLayout



assetPath: string

Path to load the assets. Usually relative to the base path

components: {}

Available components (unsorted)

Type declaration

  • [componentId: string]: { gamepadIndices: { button?: number; xAxis?: number; yAxis?: number }; rootNodeName: string; touchPointNodeName?: string; type: MotionControllerComponentType; visualResponses: {} }

    A map of component Ids

    • gamepadIndices: { button?: number; xAxis?: number; yAxis?: number }

      The indices of this component in the gamepad object

      • Optional button?: number

        Index of button

      • Optional xAxis?: number

        If available, index of x-axis

      • Optional yAxis?: number

        If available, index of y-axis

    • rootNodeName: string

      The mesh's root node name

    • Optional touchPointNodeName?: string

      If touch enabled, what is the name of node to display user feedback

    • type: MotionControllerComponentType

      The type of input the component outputs

    • visualResponses: {}

      Animation definitions for this model

      • [stateKey: string]: { componentProperty: "xAxis" | "yAxis" | "button" | "state"; maxNodeName?: string; minNodeName?: string; states: MotionControllerComponentStateType[]; valueNodeName?: string; valueNodeProperty: "transform" | "visibility" }
        • componentProperty: "xAxis" | "yAxis" | "button" | "state"

          What property will be animated

        • Optional maxNodeName?: string

          Max movement node

        • Optional minNodeName?: string

          Minimum movement node

        • states: MotionControllerComponentStateType[]

          What states influence this visual response

        • Optional valueNodeName?: string

          Base node name to move. Its position will be calculated according to the min and max nodes

        • valueNodeProperty: "transform" | "visibility"

          Type of animation - movement or visibility

gamepadMapping: "" | "xr-standard"

Is it xr standard mapping or not

rootNodeName: string

Base root node of this entire model

selectComponentId: string

Defines the main button component id


  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Static method