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


  • IMotionControllerLayout




Find examples in Playground
assetPath: string

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


Find examples in Playground
components: object

Available components (unsorted)

Type declaration

  • [componentId: string]: object

    A map of component Ids

    • gamepadIndices: object

      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: object

      Animation definitions for this model

      • [stateKey: string]: object
        • 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


Find examples in Playground
gamepadMapping: "" | "xr-standard"

Is it xr standard mapping or not


Find examples in Playground
rootNodeName: string

Base root node of this entire model


Find examples in Playground
selectComponentId: string

Defines the main button component id

Generated using TypeDoc