This is a mod for the game Techtonica that adds VR support.
I spent countless hours of my free time on this mod. If you enjoy it, please consider supporting me on Liberapay ❤️
-
Version 0.4.0-c of the game. As the game is still in early access, this mod may not work with future versions of the game. If you encounter any issues, please create an Issue.
-
BepInEx version BepInEx Version
-
PiUtils mod. Is included in the github release and as as an external dependency in the thunderstore release.
-
TTIK mod. Is included in the github release and as an external dependency in the thunderstore release.
-
PiVRLoader mod. Is included in the github release and as an external dependency in the thunderstore release.
Important
|
After installing the mod, you need to restart the game for the mod to take effect. Let the game load into the main menu before restarting it. |
You can install the mod from Thunderstore or install it manually:
-
Download the latest 5.x release of BepInEx from the Releases page.
-
Extract the downloaded archive into the game’s installation directory.
-
Run the game once. BepInEx should be installed automatically.
-
Download the latest release (v2.0.0) of this mod from the Releases page.
-
Extract the downloaded archive.
-
Copy the
BepInEx
andTechtonica_Data
folders to theTechtonica
folder insteamapps/common
directory. -
Run the game. The mod should be loaded automatically by BepInEx.
The github release bundles the dependencies with the mod. The thunderstore release does not include the dependencies. You need to install them separately or use a mod manager that can install dependencies.
This mod requires the PiVRLoader mod to be installed. This mod performs most of the VR specific tasks like setting up the VR camera and controllers. It also provides some utility functions that are used by the VR mod.
This mod requires the TTIK mod to be installed. This mod adds inverse kinematics (IK) to the game. This is required to render the player’s body in VR. It also allows both VR and non-VR players to see the player’s body movements. When playing co-op, the host needs to have this mod installed. For other non-VR players the mod is optional.
This mod requires the PiUtils mod to be installed. This mod provides some utility functions that are used by the VR mod.
Teleport and Snap turn have audio cues that are not played unless Tobey.UnityAudio is installed. You can install it from Thunderstore or the GitHub Releases page.
To manually install the UnityAudio extract the BepInEx
folder from the downloaded archive into the game’s installation directory.
To disable the mod change the Enabled
under [General]
value in the de.xenira.techtonica.cfg
file in the BepInEx/config
folder to false
.
To uninstall the mod remove the mod’s files from the BepInEx/plugins
folder. This should be the following files:
-
'techtonica_vr' folder
If you installed the audio fix, remove the BepInEx/patches/Tobey/UnityAudio
and BepInEx/plugin/Tobey/UnityAudio
folder from the game’s installation directory.
There will be some leftover files in the Techtonica_Data
folder. To clean those up, delete the folder and verify the game’s files in Steam. This will redownload the game’s files and remove any leftover files. This is not strictly necessary but it will keep your game folder clean.
To view and edit the controls, open the SteamVR dashboard and click Controller Bindings
. The game should be listed as Techtonica VR
. You can edit the controls there.
The mod includes default bindings for the Valve Index Controllers (Knuckles) and the Oculus Touch Controllers. Only the Knuckles bindings have been tested as I don’t own a Quest.
- Toggling the Headlamp
-
There are two Headlamps. One on the player’s head and one on the right shoulder. To toggle the head mounted lamp, move your right hand on top of your head and press the
Use
key (Right Trigger). For the shoulder lamp, move your right hand next to your right ear and press theUse
key (Right Trigger).
While the mod is in a playable state, it is still in early development. Some features are still missing and there are some known issues. Other things might be a little yanky or not work as expected.
-
Rendering of the game world with 6DOF Tracking
-
Tracking of the player’s head and hands
-
Smooth locomotion and turning
-
Comfort options (Teleportation, Snap turning, Vignette)
-
Basic controller bindings (Although they might not be optimal)
-
Controller haptics
-
Smooth turning
-
UI
-
IK with coop support and finger tracking (TTIK)
-
Gesture support (e.g. Mining using pickaxe motion)
-
Object outlines. Disabled for now as the shader is broken in VR.
-
Ability to switch primary hand (#153)
-
Ability to yeet paladin down the waterfall
-
Hand crank using uhhhhh… hands?
-
Haptics are played on both controllers by the game. One improvement would be to play them on the hand that is actually holding the tool.
-
The game is locked to 60fps when running in windowed mode. This is based on the refresh rate of your monitor. To unlock the framerate, switch to fullscreen mode. (#10)
The configuration file is located in BepInEx/config/de.xenira.techtonicavr.cfg
. You can edit it using a text editor like vim.
Note
|
Some configuration options moved into the Pi VR Loader mod. Please refer to the PiVRLoader documentation for those options. |
To reset the configuration, delete the de.xenira.techtonicavr.cfg
file in the BepInEx/config
folder. The mod will create a new configuration file with the default values the next time you run the game.
To reset only a specific section, delete the section from the configuration file. The mod will create a new section with the default values the next time you run the game.
Enabed |
Enables or disables the mod. Default: |
Smooth Turn Speed |
Speed of smooth turning. Default: |
Snap Turn Angle |
Angle of snap turns. Default: |
Vignette Enabled |
Enables or disables vignette. If this is disabled the other vignette effects will be disabled as well. Default: |
Vignette On Teleport |
Enables or disables vignette when teleporting. Default: |
Vignette On Smooth Locomotion |
Enables or disables vignette when using smooth locomotion. Default: |
Vignette On Snap Turn |
Enables or disables vignette when using snap turning. Default: |
Long Press Time |
Time in seconds before a button press is considered a long press. Default: |
Menu Spawn Distance |
Distance of the menu from the player. Default: |
Menu Scale |
Scale of the menu (X/Y/Z). Default: |
Inventory and Crafting Menu Scale Override |
Scale of the inventory and crafting menu (X/Y/Z). This menu has different scaling and needs separate config. Default: |
Menu Downward Offset |
Offset of the menu in the downward direction. Default: |
Display Body |
Enables or disables rendering of the player’s body. When false only hands are rendered. Default: |
If you encounter any issues while using this mod, please check the BepInEx console for any error messages. You can also report issues on the Issues page of this repository.
-
Why is my framerate locked to 60fps?
The game is locked to x fps when running in Windowed mode. This is based on the refresh rate of your monitor. To unlock the framerate, switch to fullscreen mode. (For now)
-
I am experiencing periodic stuttering / freezes. What can I do?
This is most likely caused by autosave. Try setting the autosave interval to a higher value using the AutoSaveConfig mod.
-
The games performance is bad. What can I do?
Try lowering the graphics settings. VR is very demanding and the game is not optimized for VR. While I am working on improving the performance, there is only so much I can do.
-
Does this mod work with Gamepass?
Yes, the mod needs to be installed in
Gamepass/Techtonica/Content
. -
Why is the mod not open source?
It is. You are looking at the source right now (duh!).
-
Why is the mod not on NexusMods?
I don’t like NexusMods. I don’t like their ToS and I don’t like their mod manager. I don’t want to support them.
This mod is licensed under the GNU General Public License v3.0 (GPL-3.0).
Contents of the unity
, tools
and libs
folders are licensed under their respective licenses.