This program is designed to allow you to synchronise multiple playspaces with one another in SteamVR. This fork of Space Calibrator (spacecal) also supports continuous calibration.
Continuous calibration is a tracking mode which automatically aligns playspaces together, using a tracker on the headset.
This version of Space Calibrator 2.0 has been rewritten from the ground up for improved robustness, QOL improvements and less tracking issues, amongst others. For a list of differences compared with other versions, please see the features list
Note
Space Calibrator is also available on Steam.
You may find Space Calibrator on Steam here.
To install Space Calibrator, please get the latest installer from the downloads page, and install it. Make sure that you have:
- Installed Visual C++ Redistributable.
- Installed SteamVR and run it at least once with a VR headset connected.
- SteamVR is not running before you run the installer. If SteamVR is running the installer will not be able to install Space Calibrator correctly.
If you do not wish to use continuous calibration, you will have to use regular calibration. This means that every so often you will have to sync your headset's playspace with your tracker's playspace.
To calibrate:
-
Copy the chaperone/guardian bounds from your HMD's play space
You will only have to do this once. Connect your VR headset and start SteamVR. Then go to space calibrator's window (it will be minimised), and click the "Copy Chaperone" button.
-
Open the SteamVR dashboard. At the bottom, click on the Space Calibrator icon.
-
In the Space Calibrator overlay, you'll see two lists at the top. On the left
Reference Spacecolumn, select the controller you'll be calibrating along (e.g. Quest controller, Pico controller). On the rightTarget Space, select your SteamVR tracker (e.g. Vive Ultimate Tracker, Vive Tracker 3.0, Vive Ultimate Tracker). You can use the Identify button to make the controllers blink and tracker LEDs flash to see if you've selected the correct ones. -
Click the "Start calibration" button, and start calibrating.
Important
A tracker attached on your headset is required for this.
To enable continuous calibration mode, first select your headset on the left column, then the tracker on your headset on the right column. Once you've done so, click Start Calibration, and click cancel. Then click Continuous Calibration to enable continuous calibration.
- Start SteamVR with the VR headset you wish to use.
- Turn on ONLY the tracker which is attached on the VR headset.
- Select the VR headset and tracker and calibrate.
- Turn on your other devices.
- You should see them line up with you as you after moving around your playspace for a bit for an initial calibration.
This version has been rewritten from scratch. It shares little code with the original repository but keeps similar ideas.
Major features:
- The UI has been reworked substantially to improve UX. The goal is to reduce the need of tutorials and have the app explain how to calibrate and what one may do to improve calibrations directly in app rather than elsewhere.
- Calibrations are now more streamlined. The calibration logic has been simplified to attempt minimising the chances of erroneous data being injected into a calibration sequence yielding poor calibrations.
- Calibrations now require you to move around by default. The app will ignore data without enough movement to minimise the chances of poor calibrations arising due to a lack of movement.
- Continuous calibration has been improved to reduce the frequency of mis-calibrations as much as possible.
- Relative calibrations. The aim is to re-formulate how a calibration is stored so that it is now relative to your headset, meaning that if your headset drifts your trackers would along with it, hiding the drift entirely.
- Made calibrating require a minimum amount of movement to ensure that a calibration is valid. This is to improve the success rate of most calibrations.
- Robust logging. Logs are saved at
%APPDATA%/space-calibrator/logson Windows, and~/.local/share/space-calibrator/logson Linux. - Settings are saved to a JSON file at
%APPDATA%/space-calibrator/config.jsonon Windows, and~/.local/share/space-calibrator/config.jsonon Linux. - Linux support. The codebase can now be compiled for Linux x64 amd arm64. Official support assumes Steam Runtime 4, compatibility with other distributions is NOT guaranteed. This is not thoroughly tested but contributions / bug reports are appreciated.
- Space Calibration now supports translations. The app will default to showing text in your system language, and you may override it from the Settings page. For guidance regarding contributing translations please see TRANSLATING.md
- The UI renderer has been upgraded and now supports either OpenGL, DirectX11 (on Windows only) or Vulkan 1.3. The app will default to DirectX11 on Windows and Vulkan on Linux. This is to reduce issues for end users on buggy GPU drivers causing the app to fail to launch. You can override the renderer by passing
--renderer <opengl|dx11|vulkan>as launch arguments. - Base Station management has been integrated into the app to allow you to control them without 3rd party software.
- More things that aren't mentioned here.
If you need help with setting up this program, please check the wiki, or join the Discord server.