• Public
  • Public/Protected
  • All

Class WebXRMotionControllerManager

Motion controller manager is managing the different webxr profiles and makes sure the right controller is being loaded.


  • WebXRMotionControllerManager



Static BaseRepositoryUrlSearch playground for BaseRepositoryUrl

BaseRepositoryUrl: string

The base URL of the online controller repository. Can be changed at any time.

Static DisableControllerCacheSearch playground for DisableControllerCache

DisableControllerCache: boolean

Disable the controller cache and load the models each time a new WebXRProfileMotionController is loaded. Defaults to true.

Static PrioritizeOnlineRepositorySearch playground for PrioritizeOnlineRepository

PrioritizeOnlineRepository: boolean

Which repository gets priority - local or online

Static UseOnlineRepositorySearch playground for UseOnlineRepository

UseOnlineRepository: boolean

Use the online repository, or use only locally-defined controllers


Static ClearControllerCacheSearch playground for ClearControllerCache

  • ClearControllerCache(): void
  • Clear the controller's cache (usually happens at the end of a session)

    Returns void

Static ClearProfilesCacheSearch playground for ClearProfilesCache

  • ClearProfilesCache(): void
  • Clear the cache used for profile loading and reload when requested again

    Returns void

Static DefaultFallbacksSearch playground for DefaultFallbacks

  • DefaultFallbacks(): void
  • Register the default fallbacks. This function is called automatically when this file is imported.

    Returns void

Static FindFallbackWithProfileIdSearch playground for FindFallbackWithProfileId

  • FindFallbackWithProfileId(profileId: string): string[]
  • Find a fallback profile if the profile was not found. There are a few predefined generic profiles.


    • profileId: string

      the profile to which a fallback needs to be found

    Returns string[]

    an array with corresponding fallback profiles

Static GetMotionControllerWithXRInputSearch playground for GetMotionControllerWithXRInput

  • When acquiring a new xrInput object (usually by the WebXRInput class), match it with the correct profile. The order of search:

    1. Iterate the profiles array of the xr input and try finding a corresponding motion controller
    2. (If not found) search in the gamepad id and try using it (legacy versions only)
    3. search for registered fallbacks (should be redundant, nonetheless it makes sense to check)
    4. return the generic trigger controller if none were found


    • xrInput: XRInputSource

      the xrInput to which a new controller is initialized

    • scene: Scene

      the scene to which the model will be added

    • Optional forceProfile: string

      force a certain profile for this controller

    Returns Promise<WebXRAbstractMotionController>

    A promise that fulfils with the motion controller class for this profile id or the generic standard class if none was found

Static RegisterControllerSearch playground for RegisterController

  • Register a new controller based on its profile. This function will be called by the controller classes themselves.

    If you are missing a profile, make sure it is imported in your source, otherwise it will not register.


    • type: string

      the profile type to register

    • constructFunction: MotionControllerConstructor

      the function to be called when loading this profile

    Returns void

Static RegisterFallbacksForProfileIdSearch playground for RegisterFallbacksForProfileId

  • RegisterFallbacksForProfileId(profileId: string, fallbacks: string[]): void
  • Register a fallback to a specific profile.


    • profileId: string

      the profileId that will receive the fallbacks

    • fallbacks: string[]

      A list of fallback profiles

    Returns void

Static UpdateProfilesListSearch playground for UpdateProfilesList

  • UpdateProfilesList(): Promise<{}>
  • Will update the list of profiles available in the repository

    Returns Promise<{}>

    a promise that resolves to a map of profiles available online


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