Configure The Service
Now that the service is registered, let's take a look at configuration options.
Startup Behaviour
There is three settings related to locomotion startup behaviour in total.
Locomotion Startup Behaviour
This setting defines whether locomotion is enabled or disabled on application launch on a global level. Settings this setting to Manual Start
will also disable free movement and teleportation on app launch, regardless of their individiual startup behaviour.
Runtime API
ServiceManager.Instance.GetService<ILocomotionService>().LocomotionEnabled = false;
ServiceManager.Instance.GetService<ILocomotionService>().LocomotionEnabled = true;
Movement Startup Behaviour
This settings defines whether free movement will be available immediately after the application has launched.
Runtime API
ServiceManager.Instance.GetService<ILocomotionService>().MovementEnabled = false;
ServiceManager.Instance.GetService<ILocomotionService>().MovementEnabled = true;
Teleport Startup Behaviour
This settings defines whether teleportation will be available immediately after the application has launched.
Runtime API
ServiceManager.Instance.GetService<ILocomotionService>().TeleportationEnabled = false;
ServiceManager.Instance.GetService<ILocomotionService>().TeleportationEnabled = true;
Teleport Cooldown
This defaults to 0
, meaning that your player can teleport right after completing a teleportation. Settings this value to e.g. 1
, will induce a one second cooldown phase after a teleport. Your player will only be able to teleport again, once the cooldown phase has ended.
ServiceManager.Instance.GetService<ILocomotionService>().TeleportCooldownDuration = 1f;
var isCoolingDown = ServiceManager.Instance.GetService<ILocomotionService>().IsTeleportCoolingDown;
Locomotion Service Modules
The locomotion service is powered by a collection of service modules. Each responsible for a specific feature of the overall service. Check the individual module configuraton profiles for advanced configuration options.