You are viewing a potentially older version of this package. View all versions.
3_141-TechtonicaVR-0.6.0 icon

TechtonicaVR

VR Mod for Techtonica

Date uploaded 2 years ago
Version 0.6.0
Download link 3_141-TechtonicaVR-0.6.0.zip
Downloads 215
Dependency string 3_141-TechtonicaVR-0.6.0

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100
3_141-PiUtils-0.4.0 icon
3_141-PiUtils

Utility mod for my other mods

Preferred version: 0.4.0
3_141-TTIK-0.2.2 icon
3_141-TTIK

See VR player's movements

Preferred version: 0.2.2
3_141-PiVRLoader-0.1.0 icon
3_141-PiVRLoader

Library for VR mods

Preferred version: 0.1.0
Tobey-UnityAudio-2.0.2 icon
Tobey-UnityAudio

A universal BepInEx patcher to enable/disable Unity's built-in audio for any Unity game.

Preferred version: 2.0.2

README

Techtonica VR Mod

"GitHub release (with filter)" "GitHub Release Date - Published_At" "Thunderstore.io" "GitHub downloads all releases" "LiberaPay Patrons" GitHub Workflow Status (with event) "GitHub issues" "GitHub pull requests" "License"

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 ❤️

Prerequisites

  • Version 0.2.1c 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

Setup

You can install the mod from Thunderstore or install it manually:

BepInEx

  1. Download the latest 5.x release of BepInEx from the Releases page.
  2. Extract the downloaded archive into the game’s installation directory.
  3. Run the game once. BepInEx should be installed automatically.

VR Mod

  1. Download the latest release (v0.6.0) of this mod from the Releases page.
  2. Extract the downloaded archive.
  3. Copy the BepInEx and Techtonica_Data folders to the Techtonica folder in steamapps/common directory.
  4. Run the game. The mod should be loaded automatically by BepInEx.

Audio Fix

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.

  • The GitHub release of the VR mod includes the audio fix so you don’t need to install it separately.
  • The thunderstore release does not include the audio fix unless you install it using a mod manager that installs dependencies.

To manually install the UnityAudio extract the BepInEx folder from the downloaded archive into the game’s installation directory.

Disabling the Mod

To disable the mod change the Enabled under [General] value in the de.xenira.techtonica.cfg file in the BepInEx/config folder to false.

Uninstalling the Mod

To uninstall the mod remove the mod’s files from the BepInEx/plugins folder. This should be the following files:

  • techtonica_vr.dll
  • '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.

Current State

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.

Working

  • 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

Missing

  • Gesture support (e.g. Mining using pickaxe motion)
  • Model for the player’s body. Currently not a priority as this requires IK.
  • Default bindings for VR controllers other than the Valve Index Controllers (#16, #17)
  • Object outlines. Disabled for now as the shader is broken in VR.
  • Finger tracking (#15)
  • Ability to switch primary hand
  • Ability to yeet paladin down the waterfall
  • Hand crank using uhhhhh... hands?

Known Issues

  • 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)

Cool stuff to try

  • Tobii eye tracking for dynamic foveated rendering
  • Enable ik (The game ships with FinalIK so it should be possible. Probably just not networked yet.)

Configuration

The configuration file is located in BepInEx/config/de.xenira.techtonicavr.cfg. You can edit it using a text editor like Notepad.

Resetting the Configuration

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.

Configuration Options

General

  • Enabed
    Enables or disables the mod. Default: true

Input

  • Smooth Turn Speed
    Speed of smooth turning. Default: 90
  • Laser UI Only
    Only show the laser pointer when pointing at UI elements. Default: true
  • Laser Color
    Color of the laser pointer. Default: 00FFFFFF Cyan
  • Laser Click Color
    Color of the laser pointer when clicking. Default: 0000FFFF Blue
  • Laser Hover Color
    Color of the laser pointer when hovering over a UI element. Default: 00FF00FF Green
  • Laser Invalid Color
    Color of the laser pointer when pointing at an invalid UI element. Default: FF0000FF Red
  • Laser Thickness
    Thickness of the laser pointer. Default: 0.002
  • Laser Click Thickness Multiplier
    Thickness multiplier of the laser pointer when clicking. Default: 2

Comfort

  • Snap Turn Angle
    Angle of snap turns. Default: 30
  • Teleport Range
    Velocity of teleport arc. Effectively determines rang. Default: 12
  • Vignette Enabled
    Enables or disables vignette. If this is disabled the other vignette effects will be disabled as well. Default: false
  • Vignette On Teleport
    Enables or disables vignette when teleporting. Default: true
  • Vignette On Smooth Locomotion
    Enables or disables vignette when using smooth locomotion. Default: true
  • Vignette On Snap Turn
    Enables or disables vignette when using snap turning. Default: true
  • Vignette Color
    Color of the vignette. Default: 000000FF Black
  • Vignette Intensity
    Intensity of the vignette. Determines how far the vignette will close. Default: 0.5
  • Vignette Smoothness
    Adds a blur to the vignette edge. 0 is sharp edge, 1 is prob. unusable. Default: 0.15
  • Vignette Fade Speed
    Animation speed of the vignette. Higher is faster. Default: 3

Buttons

  • Click Time
    Time window in seconds for a button press to be considered a click. Higher value makes clicks easier, but delay drag 'n drop. Default: 0.2
  • Long Press Time
    Time in seconds before a button press is considered a long press. Default: 1

UI

  • Menu Spawn Distance
    Distance of the menu from the player. Default: 0.8
  • Menu Scale
    Scale of the menu (X/Y/Z). Default: {"x": 0.001,"y":0.001,"z":0.001}
  • 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: {"x": 0.001,"y":0.0005,"z":0.001}
  • Menu Downward Offset
    Offset of the menu in the downward direction. Default: 0.2
  • Menu Scroll Speed
    Speed of scrolling through menus by moving the cursor to the edge. Speed increases when nearer to the edge. Default: 0.125
  • Menu Scroll Deadzone
    Deadzone for scrolling through menus by moving the cursor to the edge. In percent from the center. Effectively the size of the region not triggering scrolling. Default: 0.35

Debug

  • Debug Mode
    Mostly used for development. Default: false
  • Gizmo Enabled
    Enables or disables gizmos. Only some objects have gizmos attached. Default: false
  • Debug Line Enabled
    Enables or disables debug lines. Only some objects have debug lines attached and the direction might seem arbetrary at first glance. Default: false

Troubleshooting

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.

Q&A

  1. 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)
  2. 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.
  3. 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.
  4. Does this mod work with Gamepass?
    Yes, the mod needs to be installed in Gamepass/Techtonica/Content.
  5. Why is the mod not open source?
    It is. You are looking at the source right now (duh!).
  6. 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.

License

This mod is licensed under the GNU General Public License v3.0 (GPL-3.0).

Contents of the unity and libs folders are licensed under their respective licenses.

Disclaimer

This mod is not affiliated with the game’s developers Fire Hose Games, Unity Technologies or Valve Corporation. All trademarks are the property of their respective owners.

CHANGELOG

Changelog

2.0.0 (2024-05-03)

⚠ BREAKING CHANGES

  • game: The mod now uses the PiVRLoader mod for most VR stuff. As a consequence you need to re-install the entire mod (preferable on a clean game install). You will need to start the game once before VR works.

✨ Features

👷 Build System

  • deps: bump dsaltares/fetch-gh-release-asset from 1.1.1 to 1.1.2 (#158) (37ce96c)

1.1.0 (2024-03-17)

✨ Features

  • player: add ability to toggle headlamps (#151) (c56296a)

🐛 Bug Fixes

1.0.0 (2024-03-13)

⚠ BREAKING CHANGES

  • ik: Mod folder structure has changed. Please remove the old mod entirely before installing this version.

✨ Features

🐛 Bug Fixes

  • assets: set asset path relative to plugin dll (#145) (85eda34)
  • coop: sync player rotation with headset (#129) (5133d65)
  • input: allow turn with hoverpack (#125) (9e3e8fd)
  • input: cancel eyedrop when changing toolbar index (#140) (7f4f7c7)
  • input: change vertical belt targeting to use hand (#136) (5787234)
  • ui: show omniseeker ui (#123) (3f773bd)

♻️ Code Refactoring

👷 Build System

  • deps: bump TTIK from 0.2.0 to 0.2.1 in /plugin (#142) (b805334)
  • deps: bump TTIK from 0.2.1 to 0.2.2 in /plugin (#146) (6b74837)
  • deps: Update packaged TTIK version (#147) (559c3e5)

0.6.0 (2024-02-01)

✨ Features

  • input: add interaction to crafting menu (#111) (02e48d8)
  • input: add interaction to tech tree (#121) (519cf9e)
  • input: add interaction to transit depot (#119) (a58f9ec)

🐛 Bug Fixes

  • input: fix scroll views (#118) (2b6c228)
  • ui: disable cursor and hologram when menus are open (#115) (a1e753c)
  • ui: made encumbrance warning visible (#108) (1a79ec9)

0.5.0 (2024-01-27)

✨ Features

  • input: add interaction to planter (#103) (85ed0ff)
  • input: add interaction to production terminal (#105) (b24b093)
  • input: add interaction to resource gate (#104) (4c867f5)

🐛 Bug Fixes

  • ui: make tier upgrade screen visible again (#107) (147013e)

👷 Build System

  • deps: bump actions/checkout from 3 to 4 (#100) (292b565)
  • deps: bump actions/setup-dotnet from 3 to 4 (#96) (0118158)
  • deps: bump actions/upload-artifact from 3 to 4 (#97) (ada64f0)
  • deps: bump dawidd6/action-download-artifact from 2 to 3 (#99) (3b5f745)
  • deps: bump Microsoft.NETFramework.ReferenceAssemblies in /plugin (#101) (afc09c8)

0.4.0 (2024-01-26)

✨ Features

  • input: add interaction to assembler (#89) (f235fc0)
  • input: add interaction to drill (#85) (9bdd6ff)
  • input: add interaction to filter inserter (#86) (0231e33)
  • input: add interaction to power generator (#82) (0c0b978)
  • input: add interaction to recipe picker (#92) (30115bc)
  • input: add interaction to smelter menu (#84) (2016a51)
  • input: add interaction to thresher (#88) (54fb1ad)

🐛 Bug Fixes

0.3.0 (2024-01-19)

⚠ BREAKING CHANGES

  • input: Mod config might need to be deleted after updating, as ui scale changed

✨ Features

  • input: add laserpointer interaction (#54) (1b8723c)

🐛 Bug Fixes

  • input: hide ui interaction when menu is not open (#76) (0b5fa2a)
  • ui: position save icon to be visible (#59) (1675887)

📝 Documentation

  • readme: updated configuration options (#77) (4d1be8b)

0.2.5 (2023-12-27)

🐛 Bug Fixes

  • config: disable vignette by default (#53) (2eb80cb)

📝 Documentation

  • add Tobey.UnityAudio information (#50) (adce76e)

0.2.4 (2023-12-22)

👷 Build System

  • thunderstore: :zap: actually add thunderstore deps (#47) (9c052ea)

0.2.3 (2023-12-22)

👷 Build System

  • thunderstore: :zap: add dependencies and removed from release artifact (#45) (50ee8e6)

0.2.2 (2023-12-21)

👷 Build System

  • fix release artifact path and added repo to cli args (#42) (7bf1dd8)

0.2.1 (2023-12-21)

📝 Documentation

  • readme: add initial thunderstore ref (#40) (1e65301)

0.2.0 (2023-12-21)

✨ Features

🐛 Bug Fixes

  • input: bind map controls and fix player arrow (#32) (67d2ebb)

📝 Documentation

  • readme: update install instructions (#25) (3b2ab8d)

👷 Build System

  • add readme, license and changelog to release (#29) (3e68554)
  • thunderstore: ⚡ add thunderstore release (39d863e)

🔧 Other Changes

0.1.0 (2023-12-17)

⚠ BREAKING CHANGES

  • game: :arrow_up: version 0.2.0f compat (#7)

Features

  • input: add erase button (14ce7af)
  • input: add hotbar bindings (#21) (e4c472a)
  • input: add smooth turning (dd579c9)
  • input: use right hand as target origin (8e3a749)
  • player: add player hands (0897dca)
  • ui: attached inspector to aim location (#23) (b7ef8db)
  • ui: inventory overhaul (#3) (4c6fdb5)
  • ui: move crafting queue to left hand (#22) (8c4fb9b)

Bug Fixes

  • game: :arrow_up: version 0.2.0f compat (#7) (094c289)
  • input: build and remove target bound to hand (#5) (4420a46)
  • input: disable smooth turn when input blocked (9478182)
  • input: fix button long press (91f8634)
  • mole targeting and ui (#4) (2639dff)
  • player: sync player position with relative hmd position (#24) (8c58733)
  • render: disable outline shader draw (13f3231)
  • ui: fix loading screen (08f0536)
  • ui: fix main menu ui (fe877f5)
  • ui: placed recipe ui in world (#6) (e233308)

Continuous Integration

  • release: add release-please job dependency (c669795)