Skip to main content

Upgrading From V1

All your V1 files have been placed in a backup folder, located at %appdata%/vrcosc/v1-backup. None of these files are compatible with V2, but are backed up as a reference for you to pull data from.

All modules have had a facelift and should make setting up more complex modules easier. For example, the Counter module now has separate windows for each counter, with more customisation options.

If you need more help upgrading from V1, join the Discord Server.

Prefabs

There are new prefabs that have been redesigned and optimised for V2 modules and parameter count. Check them out here.

Modules

Every module has been copied over or turned into a function of another module or put into the base implementation of the ChatBox. Below are some common migration paths people will want to take.

Discord

This has been removed in favour of the Keybinds module.

If you'd like to replicate the Discord module's functionality you can either use the new prefab, or:

  • Setup custom mute and deafen keybinds in Discord (as this allows them to be used without Discord being focused)
  • Add mute and deafen keybinds to the Keybinds module, and give them the VRCOSC/Discord/Mute and VRCOSC/Discord/Deafen respectively

Your buttons on your radial menu should now work. Changing the keybinds mode allows you to hold keybinds down when the parameters are true, rather than pressing and releasing the keys, so play around with them to create custom radios!

Ticker Tape

This has been removed as every variable in the ChatBox can now ticker tape, truncate, and control its case. If you want to ticker tape custom text, use the Custom Text variable.

OpenVR/SteamVR

Both OpenVR Statistics and OpenVR Controller Statistics have been merged and optimised into SteamVR Stats.

To help modules be more abstracted from SteamVR, you can now assign roles to all your SteamVR devices in the app settings. You can figure out the device IDs from inside SteamVR.

Exchange Rate

This has been removed with no migration.

Timer

This has been removed as there is now a built-in ChatBox variable to handle this.

Clock

Clock is now called DateTime and has more parameters. The 12/24 setting now controls the parameters. Adjusting 12/24 visuals for the ChatBox requires using hh or HH in the Now variable's formatting.

PiShock

For the prefabs that were using wildcard parameters (VRCOSC/PiShock/Shock/0) but were using the global durations and intensity (VRCOSC/PiShock/Duration). This will not work anymore.

The global duration and intensity parameters only work the global shock, vibrate, and beep parameters now.

If you want to use the wildcard parameters for shock, vibrate, and beep, you need to use the wildcard parameters of duration and intensity.

Persistence

Your persistence will be lost, but using a module that has persistence, like the counter module, will generate a persistence file inside your chosen profile. You can then go into there an edit the persistence data.

ChatBox

The ChatBox has had massive changes. You should find the timeline UI familiar but now you can now drag clips between layers.

Variables are now instanced, so you can edit their settings individually, and the textbox supports newlines.

More granularity has been given to states and events, all other logic has remained the same.

Router

V2 uses OSCQuery, as well as every other popular 3rd party app, so the router is hidden behind advanced settings. If you have a scenario that you think requires the router, please ask about it in the Discord Server. You likely don't need to use it.

Speech

The speech detection has been moved out of the modules and into the app's settings. To set it up, click the Auto Install Model button and leave everything else as default.

You should find that the new speech detection is a lot more accurate, has punctuation, and is faster than before. This is because the engine has changed from VOSK to Whisper.

If you find that speech detection is spotty, or sometimes wrong, increase the Microphone Volume Adjustment, or decrease the Noise Level Cutoff.