A simple mod to migrate controller settings between versions.
Note
Currently only supports SteamVR. OculusVR support is WIP.
Controller poses are read directly from VR runtime, OpenVR at the moment, thus the reading will not be affected by the internal offsets done by Unity, Unity plugins and the game devs. Hence this controller pose is the source of truth.
The offset is then calculated using the controller poses and the in-game saber poses (the menu pointer). This will include the offset done by all the other controller settings mod.
---
title: Processing of Poses
---
flowchart LR;
A("Runtime Pose
(OpenVR/OculusVR)");
B("Unity XRNode Pose");
C("Saber Pose");
A-- Unity XR plugins --->B;
B-- Base game offset / Controller offset mods --->C;
Re-applying the offset is as simple as overwriting the in-game saber pose with (controller pose + offset).
This offset can then be imported by EasyOffset via its universal import feature.
- BSIPA
- BSML
- SiraUtil
- OpenVR API (Only for 1.29.4+)
- Grab a release for your game version and install it
- Make sure all your controller offset mods and settings are working correctly
- Disable all menu pointer smoothing mods
- Make sure the base game Room Offset is all zero
- Click the
OFFSET HELPER
button found on the main menu - You should see the pose of your controllers and in-game sabers
- The "Diff" values should stay the same and not change as you move your controller slowly.
- Press
Save Offset
to save the current offset.
- Grab a release for your game version and install it
- Copy the configuration file from the "source" game to the "target" game
- The configuration file location is
UserData\BeatSaberOffsetMigrator.json
- "Source" game is the one you use to save the offset from
- "Target" game is the one you want to migrate your offset to
- The configuration file location is
- Install EasyOffset
- Disable EasyOffset in the mod settings menu
- Disable all menu pointer smoothing mods
- Make sure base-game controller settings and room offset are all zero
- Click the
OFFSET HELPER
button found on the main menu - You should see the pose of your controllers and in-game sabers
- The "Diff" values should stay the same and not change as you move your controller slowly.
- Due to some small latency, the Diff values may vary ~0.1 as you move your controller.
- Toggle on the
Apply Offset
option and see if your sabers are in the correct place like before- If the offsets are clearly wrong, contact me @qe201020335 on Discord
- In the EasyOffset mod settings menu click the
Universal Import
button to import the offset and enable EasyOffset- See EasyOffset's readme for details
- In EasyOffset's controller settings menu save the current offset to a profile
- Toggle off the
Apply Offset
option in theOFFSET HELPER
menu - Uninstall
BeatSaberOffsetMigrator
by deletingPlugins\BeatSaberOffsetMigrator.dll
Note
It is not recommended to play with this mod installed. All the offset logic only applies in the menu.
Please uninstall this mod once you verified the offset is correctly imported by EasyOffset.