Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs-unity.molca.id/llms.txt

Use this file to discover all available pages before exploring further.

Primary approach: combine Teleportation for comfort and long-distance repositioning with Continuous Move for short, precise adjustments. This documentation follows the standard Unity XR Interaction Toolkit (XRI) template flow and how it is used in Molca VR scenes.

Locomotion model

Use two locomotion modes in parallel:
  • Teleportation for comfort-sensitive users and fast repositioning.
  • Continuous movement for local motion during interaction-heavy tasks.
  • Snap turn for rotation in all scenarios (no continuous/smooth rotation).
In practice, users teleport to an area first, then use continuous move to fine-tune their position. On the XR Origin / player rig, keep these XRI pieces wired and enabled:
  • Locomotion System (or mediator, depending on XRI version)
  • Teleportation Provider
  • Continuous Move Provider
  • Snap Turn Provider
  • Left / right hand input actions for move, turn, and teleport activation
For Molca projects, ensure the rig also includes VRPlayerManager so locomotion can be toggled centrally when a step requires precision.

Teleportation setup

  • Place Teleportation Area or Teleportation Anchor on valid floor / platform surfaces.
  • Keep target layers explicit so users cannot teleport outside training bounds.
  • Use nav-safe surfaces only (avoid colliders that place users inside props).
  • If teleport is part of sequence validation, review TeleportStep behavior and complete-hook requirements.

Continuous movement setup

  • Keep movement speed moderate and consistent across scenarios.
  • Disable gravity / flying behavior unless a scenario specifically requires vertical free-move.
  • Tune strafe and forward speeds equally unless a design reason exists.
  • Prefer conservative acceleration for comfort in enterprise training contexts.

Runtime control in Molca

During precision interactions (for example valve / knob operations), temporarily disable locomotion to prevent accidental drift:
using MolcaSDK.VR;

public static class LocomotionUtil
{
    public static void SetEnabled(bool enabled)
    {
        if (VRPlayerManager.Instance != null)
            VRPlayerManager.Instance.SetLocomotionEnabled(enabled);
    }
}

Comfort and UX tips

  • Keep teleport ray and reticle clear, high contrast, and always visible when active.
  • Avoid forced camera motion from scripts while continuous locomotion is enabled.
  • Keep snap turn as the only rotation mode across all builds.
  • Offer a simple in-app locomotion preference (teleport only vs mixed mode) when possible.

Troubleshooting

  • Teleport ray appears but cannot land - Verify teleport areas/anchors, interaction layers, and colliders.
  • Continuous move does not respond - Check input action bindings and that the provider is enabled on the active rig.
  • Rotation feels too smooth / causes discomfort - Disable Continuous Turn Provider and keep only Snap Turn Provider active.
  • User keeps moving during step interaction - Disable locomotion through VRPlayerManager for that interaction window.
  • Motion sickness complaints - Lower move/turn speed, prefer snap turn, and rely more on teleport.