VRCOSC

Modular OSC program creator, toolkit, and router made for VRChat. Show your heartrate, time, hardware stats, speech to text, control Spotify, and more! Includes drag-and-drop prefabs for your avatar.

GPL-3.0 License

Stars
239
Committers
4

Bot releases are hidden (Show)

VRCOSC - 2022.1116.0

Published by VolcanicArts almost 2 years ago

Installation

  • Download and run VRCOSCSetup.exe (It may get blocked by your antivirus (including Windows Defender)). A shortcut will be made on your desktop.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the prefabs, check the Prefab FAQ.

What's Changed

  • Completely refactored how parameters work
    • Parameter addresses are no longer editable to make things more simple
    • Parameters are now listed in a new module screen showing the name, description, type, and if they read/write to/from VRChat
  • Fixed a multitude of priority and timing issues with the ChatBox code
    • If you ever experienced the ChatBox timing out then this addresses those problems
  • Completely deprecate the Spotify module
    • If you're still using the older Spotify prefab, you will need to update to the Media prefab
  • Improved MediaModule functionality
  • Fixed all nullability issues
  • The ChatBox will now clear when all modules stop
  • Add more Clock functionality to choose whether to smooth hours and minutes
    • These will default to True to allow the Watch prefab to work, but for the purposes of a digital clock you don't want the values smoothed
  • Fixed performance regressions when starting modules
  • Clock can now display your local time in the ChatBox
  • Heartrate modules (HypeRate and Pulsoid) can now show your heartrate in the ChatBox

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.1027.0...2022.1116.0

VRCOSC - 2022.1027.0 - Media Update

Published by VolcanicArts almost 2 years ago

Installation

  • Download and run VRCOSCSetup.exe (It may get blocked by your antivirus (including Windows Defender)). A shortcut will be made on your desktop.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the prefabs, check the Prefab FAQ.

What's Changed

Media module overhaul!

The Media module and prefab have had a complete overhaul and now interface with Windows Media. This means it can still interface with Spotify, as well as any other media app, and provides far more control than before.

ActionMenu

Shown above is the new controller with a stateful play toggle, skip and previous buttons, volume slider, mute toggle, shuffle toggle, and repeat mode submenu.
As well as this, the ChatBox can now show the current time and duration of the song playing.

Spotify module deprecation

  • The Spotify module and associated prefab have been deprecated as per the changes above
  • The Spotify module won't be removed from VRCOSC for the next few updates to give you time to update without leaving you with a broken action menu controller.

Other Changes

  • Fixed GPU usage not being read correctly
  • Fixed CPU temps not being read on AMD CPUs
  • Massive graphics backend clean-up
  • The run popover has been changed graphically to give more space for values
  • Fixed right clicking activating an animation on buttons when it shouldn't

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.1016.0...2022.1027.0

VRCOSC - 2022.1016.0 - Breaking Changes

Published by VolcanicArts about 2 years ago

Breaking Changes

As VRCOSC has grown I've come to realise that the prefabs were not organised or futureproof. To avoid massive technical debt I've done a once over on all the prefabs to rename all the parameters and resources to keep things organised and provide less hassle when updating in the future. Unfortunately this has the effect of breaking the prefabs currently on your avatar, but this was necessary for the longevity of the program.

To help with this there are improved guides and the prefabs with a physical presence (Watch and Heartrate) have new constraints to make installation much easier, and using Avatar 3.0 Manager makes copying the FX layer and avatar parameters super quick.

If you have any issues with installing new or updating, please join the Discord Server. I am more than happy to troubleshoot and get your prefabs working again.

Installing New

  • Import whatever unitypackages you want and follow the guides.

Updating

  • Delete your VRCOSC folder
  • Delete any VRCOSC related layers from your FX override, and your avatar parameters
  • Import whatever unitypackages you want and install like new

Installation

  • Download and run VRCOSCSetup.exe (It may get blocked by your antivirus (including Windows Defender)). A shortcut will be made on your desktop.
  • If you have trouble with the prefabs, check out the Prefab FAQ
  • If you encounter a problem of any sort with this release, check out the discussion created in the Discussions tab or the Discord Server

What's Changed

  • Overhaul of prefab parameter naming
  • Refactor of HardwareStats module
    • No longer spams the GC
    • Sends more info to VRChat
    • Can now use the ChatBox to display info
  • New ChatBox priority queue to allow Spotify to have a higher priority than HardwareStats
    • This means that both modules can run at the same time and both use the ChatBox without them fighting over what's displaying

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.1011.0...2022.1016.0

VRCOSC - 2022.1011.0

Published by VolcanicArts about 2 years ago

Installation

  • Download and run VRCOSCSetup.exe (It may get blocked by your antivirus (including Windows Defender)). A shortcut will be made on your desktop.
  • If you have trouble with the prefabs, check out the Prefab FAQ
  • If you encounter a problem of any sort with this release, check out the discussion created in the Discussions tab or the Discord Server

What's Changed

  • Settings graphical update
  • Other misc graphical updates
  • Bumped dependencies
  • Added CST timezone to the Clock module
  • Fix HeartrateEnabled regression
  • Add in About tab
  • Store installed version to notify about updates

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.1001.0...2022.1011.0

VRCOSC - 2022.1001.0

Published by VolcanicArts about 2 years ago

Installation

  • Download and run VRCOSCSetup.exe (It may get blocked by your antivirus (including Windows Defender)). A shortcut will be made on your desktop.
  • If you have trouble with the prefabs, check out the Prefab FAQ
  • If you encounter a problem of any sort with this release, check out the discussion created in the Discussions tab or the Discord Server

What's Changed

  • Updated dependencies
  • Removed CoreOsc in favour of using our own code
    • Fixes a lot of stuttering due to the GC running multiple times per second
  • Fixed excessive memory allocations when checking for an OSC address on Module input
  • Optimise IsDefault() check for ModuleAttributeLists
  • Remove custom colours for Modules in favour of colours based on type
  • Modules will now only start on app start instead of both start and stop
    • Fixes a random issue where the clock module would attempt to stop before it was started
  • Terminal entries now get line wrapped instead of going off screen
  • Parameter values are now aligned to the right of the screen and will truncate if they're too long
  • Saving and loading of Modules has been converted to using switches where possible for a slight performance improvement
  • VRChat is now checked for on app start to reduce time between opening and auto-start
  • Module running is no longer disabled when the app is trying to update
  • Allowed for button text customisation (This was a mistake from last release where I hardcoded the button text)
  • TextBox creation for attributes is now consolidated into a single method ensuring all TextBoxes are graphically equal
  • Allow SpotifyModule to display the current title of the track that's playing in VRChat's ChatBox
    • You can also change the format of what's displayed
  • RunningPopover and ModuleEditingScreen now correctly block scroll events
  • Miscellaneous graphical changes

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.830.0...2022.1001.0

VRCOSC - 2022.830.0

Published by VolcanicArts about 2 years ago

Installation

  • Download and run VRCOSCSetup.exe (It may get blocked by your antivirus (including Windows Defender)). A shortcut will be made on your desktop.
  • If you have trouble with the prefabs, check out the Prefab FAQ
  • If you encounter a problem of any sort with this release, check out the discussion created in the Discussions tab or the Discord Server

What's Changed

Pulsoid Support!

  • Pulsoid is now another option to get your heartrate into the game
  • Pulsoid supports all dedicated heartrate monitors and Apple Watch, with WearOS support coming in the future
  • Supported Devices
  • To setup Pulsoid, enter the Pulsoid module and click "Obtain Access Token". This will allow VRCOSC to access your heartrate. Copy the token into the Access Token textbox and you're all setup!

Other Changes

  • Parameter names with slashes are now supported
  • Player reset values will no longer send if the player has not been controlled during module runtime
  • OSC flow improvements
    • This greatly decreases the chance of a crash
    • This has also allowed for better port binding and should be more compatible with OSCRouter
  • All parameter entries in the runtime overlay are now sorted alphabetically
  • TextBox+Button is now supported to allow for an associated action to be called next to a text box

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.817.0...2022.830.0

VRCOSC - 2022.817.0

Published by VolcanicArts about 2 years ago

Installation

  • Download and run VRCOSCSetup.exe (It may get blocked by your antivirus (including Windows Defender)). A shortcut will be made on your desktop.
  • If you have trouble with the prefabs, check out the Prefab FAQ
  • If you encounter a problem of any sort with this release, check out the discussion created in the Discussions tab or the Discord Server

What's Changed

  • Module attribute lists!
    • A module can now define lists for settings and parameters
    • This allows for more complex and customisable behaviour
    • Output parameter sending has been changed to support this new behaviour in the needed modules
  • Random module updates
    • The random modules have been updated to use the new lists
    • This allows for the user to customise how many random values they want to send
    • Each output parameter they add will cause the module to generate a unique random value for each one each update
  • Fixed an update loop hang causing module restarts to be not possible
  • Changed DeltaUpdate from a double to an int since we don't need any decimal precision

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.816.0...2022.817.0

VRCOSC - 2022.816.0

Published by VolcanicArts about 2 years ago

Installation

  • Download and run VRCOSCSetup.exe (It may get blocked by your antivirus (including Windows Defender)). A shortcut will be made on your desktop.
  • If you have trouble with the prefabs, check out the Prefab FAQ
  • If you encounter a problem of any sort with this release, check out the discussion created in the Discussions tab or the Discord Server

What's Changed

  • Update Mode
    • You can now choose whether you want to manually check for updates, get notified about updates, or auto-install updates
  • Notification System
    • Allows for more easily notifying the user about things. Will be used in the future for more complex behaviours
  • Replaced UdpClient with Socket
    • Should allow other OSC application to run alongside VRCOSC. If not, OSCRouter is available
  • Auto-switch to Modules tab on modules run
  • Converted the updater to use the notification system
  • Added setting to auto-focus VRChat on modules run
  • Fixed a CalculatorModule bug
  • Fixed an incorrect input parameter definitiom

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.813.0...2022.816.0

VRCOSC - 2022.813.0

Published by VolcanicArts about 2 years ago

Installation

  • Download and run VRCOSCSetup.exe (It may get blocked by your antivirus (including Windows Defender)). A shortcut will be made on your desktop.
  • If you have trouble with the prefabs, check out the Prefab FAQ
  • If you encounter a problem of any sort with this release, check out the discussion created in the Discussions tab or the Discord Server

What's Changed

  • UI Overhaul
    • A new UI has been built for most of the components
    • This includes a new module listing section, complete with searching and filtering, and a settings section
    • The new tab system opens the doors for more complex behaviour in the future
    • Hopefully the new UI is easier to navigate for first time users
  • Module Dropdowns
    • Dropdowns have been re-added to allow for enums to be used in module settings
    • This allows for much more module customisability
  • Fixed HardwareStatsModule causing the application to freeze on module start
  • Fixed a crash in Module if a modules were started while a player was in an avatar in VRChat
  • Changed all == and != checks for null with is and is not ensuring correct nullability checks
  • Common timezones have been added to the ClockModule
  • AttributeCard has been refactored to scale with content vertically, allowing for a nicer UI and also allowing for future module expansions to have multiple parameters per setting/parameter
  • A better data flow has been created for the OscClient which should stop edge case crashes
  • Asynchronous inconsistencies throughout the codebase have been resolved
  • Parameters in the Outgoing parameters display now flash on send even if the value has not changed to make debugging easier
  • Created Random module type
  • Removed unused code inside ModuleManager which was slowing down application initialisation

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.701.0...2022.813.0

VRCOSC - 2022.701.0

Published by VolcanicArts over 2 years ago

Installation

  • Download VRCOSCSetup.exe (It may get blocked by Windows Defender)
  • Run VRCOSCSetup.exe. A shortcut will be made on your desktop and in your start menu
  • When adding any of the OSC prefabs to your avatar, after uploading you need to reset the OSC config from your action menu
  • If you encounter a problem of any sort with this release, check out the discussion created in the Discussions tab
  • More help can be got from the Discord Server

What's Changed

  • New ModuleCard design. Works a lot better with the overall look of the program and should make text easier to read
  • Created Player class allowing for a module to more easily access local player parameters
  • Added VRChat input to the Player class to allow for a module to control the local player
  • Bump dependencies
  • Module settings now require explicit definitions as to not let a boolean have a range
  • Module stop and OscClient should now be synchronous leading to less crashes
  • Outgoing parameters are now synchronously sent
  • Extract random value generation into ModuleMaths class for other modules to use

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.625.0...2022.701.0

VRCOSC - 2022.625.0

Published by VolcanicArts over 2 years ago

Installation

  • Download VRCOSCSetup.exe (It may get blocked by Windows Defender)
  • Run VRCOSCSetup.exe. A shortcut will be made on your desktop and in your start menu
  • When adding any of the OSC prefabs to your avatar, after uploading you need to reset the OSC config from your action menu
  • If you encounter a problem of any sort with this release, check out the discussion created in the Discussions tab

New Modules!

  • The RandomModule has been split into 3 separate modules that send bool, int, and float values
  • All of them have adjustable update rates, and the int and float modules have adjustable min and max values

What's Changed

  • Wait for OnUpdate to finish if running before calling OnStop for modules
  • Fixed TimedTask not stopping correctly
  • Added 3 new modules
  • Added ability to define a min and max for values, which will cause a slider to generate instead of a text box
  • Refactored all AttributeCards to have more consistent logic
  • Added ability to define floats as a setting. This must contain a min and max value

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.622.0...2022.625.0

VRCOSC - 2022.622.0

Published by VolcanicArts over 2 years ago

Installation

  • Download VRCOSCSetup.exe (It may get blocked by Windows Defender)
  • Run VRCOSCSetup.exe. A shortcut will be made on your desktop and in your start menu
  • When adding any of the OSC prefabs to your avatar, after uploading you need to reset the OSC config from your action menu
  • If you encounter a problem of any sort with this release, check out the discussion created in the Discussions tab

What's Changed

  • OSCClient logic improvements
  • Added option to stop Spotify on SpotifyModule stop
  • Refactored IntegrationModule to be more efficient and safe
  • Allow IntegrationModule to ensure only a single process exists before executing code
  • Allow toggling of global setting AutoStartStop to re-enable auto start/stop during runtime if the user has manually stopped running the modules
  • Attempted fix for the unresponsive first button push on all integration modules
    • Properly awaiting the task delays should help on slower systems, but it still seems like Windows doesn't focus a process immediately when accessing it from code
  • Created TimedTask to deal with timed tasks better
  • Converted HypeRateProvider to use TimedTask
  • Converted Module to use TimedTask for the OnUpdate event
  • Fixed a regression of DeltaUpdate which caused all OnUpdate events to be called even if DeltaUpdate was max value
    • This was meant to be set to double.PositiveInfinity to properly cancel calling OnUpdate but it was set to double.MaxValue during the Module refactor
  • Marked DeltaUpdate as protected instead of public to communicate that it is read at runtime and not Module instantiation

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.621.0...2022.622.0

VRCOSC - 2022.621.0

Published by VolcanicArts over 2 years ago

Installation

  • Download VRCOSCSetup.exe (It may get blocked by Windows Defender)
  • Run VRCOSCSetup.exe. A shortcut will be made on your desktop and in your start menu
  • When adding any of the OSC prefabs to your avatar, after uploading you need to reset the OSC config from your action menu

What's Changed

  • Update dependencies
  • Allow for saving of open dropdowns
  • Remove unnecessary containers
  • Fix content overflow in Terminal
  • Fix IsProcessOpen logic to work correctly
  • Clarify error message when a process cannot be started
  • Fix incorrect placement of click event in module selection
  • Fixed a crash that occurs on an invalid IP address
  • Fixed a crash that occurs on an invalid port
  • General GUI improvements

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.620.0...2022.621.0

VRCOSC - 2022.620.0

Published by VolcanicArts over 2 years ago

Remember that when adding any of the OSC prefabs to your avatar that after uploading your avatar you need to reset the OSC config from your action menu, else the new values won't be sent or received.

Installation

  • Download VRCOSCSetup.exe (It may get blocked by Windows Defender)
  • Run VRCOSCSetup.exe. A shortcut will be made on your desktop and in your start menu

What's Changed

  • Added ability to change OSC target IP and ports
  • Auto-start will not happen if an update is currently occurring
  • General graphics updates
  • UX improvements
VRCOSC - 2022.619.0

Published by VolcanicArts over 2 years ago

Remember that when adding any of the OSC prefabs to your avatar that after uploading your avatar you need to reset the OSC config from your action menu, else the new values won't be sent or received.

Installation

  • Download VRCOSCSetup.exe (It may get blocked by Windows Defender)
  • Run VRCOSCSetup.exe. A shortcut will be made on your desktop and in your start menu

What's Changed

  • ModuleCard code quality improvements
  • Updated logic for the updater
  • Updated design for the updater
  • Ensure updater cannot crash or if so logs the error
VRCOSC -

Published by VolcanicArts over 2 years ago

Remember that when adding any of the OSC prefabs to your avatar that after uploading your avatar you need to reset the OSC config from your action menu, else the new values won't be sent or received.

Updated Files

  • (NEW) VRCOSCSetup.exe

What's Changed

Self Updater!

  • VRCOSC will now update to the latest release published to this repository. This means you install once and VRCOSC will handle updating for you!
  • Downloading and running VRCOSCSetup.exe will install VRCOSC and create a start menu and desktop shortcut. I suggest pinning VRCOSC to your taskbar just in case the shortcuts disappear.
  • I've done my best to do thorough testing to ensure this works when the next releases come out, but it is entirely a possibility that it fails. Keep an eye on this repo over the next few weeks to check for releases that may fix the updater if it has broken

Other Changes

  • Added support for the avatar change OSC event
  • Fix a bug where you couldn't restart the modules correctly
  • Allow input parameters to be associated with the action menu
  • Don't try to open the target process if it's already open
VRCOSC - 2022.616.0

Published by VolcanicArts over 2 years ago

Remember that when adding any of the OSC prefabs to your avatar that after uploading your avatar you need to reset the OSC config from your action menu, else the new values won't be sent or received.

Updated Files

  • (UPDATE) VRCOSC.exe

What's Changed

Module Update: Hardware Stats

  • Computer Stats has been renamed and refactored to be more efficient

Other Changes

  • Fixed Enabled not being readonly
  • Improved websocket classes
  • Reorganised modules directory
  • Added prefab pair metadata to modules and GUI
VRCOSC - 2022.615.0

Published by VolcanicArts over 2 years ago

Remember that when adding any of the OSC prefabs to your avatar that after uploading your avatar you need to reset the OSC config from your action menu, else the new values won't be sent or received.

Updated Files

  • (UPDATE) VRCOSC.exe

What's Changed

Global Settings

VRCOSC now contains what's called global settings. These are tied to the application itself.

The first global setting, and the only one at the moment, is Auto Start/Stop. Enabling this will disable your ability to run modules, but the modules will auto-run and auto-stop based on if VRChat is running. This means VRCOSC is now hands free and will handle everything for you.

Graphics Update

A massive graphics overhaul has been done to allow for more expansion as more modules are added. This is done using the new group dropdowns. A basic implementation of them has been put into VRCOSC for now, but features like saving which groups are closed will come in the future.

A search bar has now been introduced which allows you to search for modules by title, the new tags property, or author.

Module Data Storage

Behind the scenes I've spent a large amount of time completely refactoring how module data storage works. It's now much more clean and efficient. VRCOSC will automatically upgrade your current module ini files as best it can, but you will lose some saved data. Fortunately most modules don't have too many settings so it's easy to re-enter your details.

Storage is now also thread safe, and crash proof, so if VRCOSC closes or crashes for whatever reason, your settings will be intact. Default settings are also no longer saved to the files as this caused issues with some modules that had their defaults changed.

Module Attribute Definition

Module attribute definition has been complete overhauled in favour of the new storage system. All modules have been updated to this new system and everything is functioning as normal. The wiki will be updated ASAP.

Code Cleanup

A lot of code, leftover from the first versions of VRCOSC, was still being used. After the module data storage rework, these have been completely refactored to use the new systems and function better than ever. Adding new module attributes is only a few lines of code now vs having to add multiple classes before. This will allow VRCOSC to expand much more easily to accommodate any module ideas anyone has!

VRCOSC - 2022.611.0

Published by VolcanicArts over 2 years ago

Remember that when adding any of the OSC prefabs to your avatar that after uploading your avatar you need to reset the OSC config from your action menu, else the new values won't be sent or received.

Updated Files

  • (UPDATE) VRCOSC-Heartrate-2022.611.0.unitypackage
  • (UPDATE) VRCOSC.exe

What's Changed

Prefab update: Heartrate

  • The heartrate prefab now uses 3 animations for the numbers instead of 30
  • This greatly increases the simplicity for creating custom displays
  • The integer values that were used (HeartrateUnits/Tens/Hundreds) have been changed to floats to support this. Remember to change all occurrences of these values

Other changes

  • Refactored the terminal into a terminal and parameter display
    • Allows for better debugging
  • Fixed module data serialisation from splitting on characters that are required multiple times
  • HypeRateModule has been updated to change HeartrateEnabled to false when no values are being received between a websocket heartbeat
  • Added VRChatDebugModule to take dummy VRChatInputParameters for debug purposes
  • Changed the default names of ComputerStatsModule to better prefix their purpose
  • Updated framework
  • Refactored input parameter handling to be more simple
VRCOSC - 2022.609.0

Published by VolcanicArts over 2 years ago

Remember that when adding any of the OSC prefabs to your avatar that after uploading your avatar you need to reset the OSC config from your action menu, else the new values won't be sent or received.

Updated Files

These are the files that have changed or are new in this release:

  • (UPDATE) VRCOSC-Watch-2022.609.0.unitypackage
  • (UPDATE) VRCOSC.exe

What's Changed

Prefab update: Watch

  • Blendshapes have been added to the strap to allow for better fitting to a wrist
  • The model now only contains 3 materials. The glass and body you don't need to alter, but there are multiple face materials provided for you
  • The face of the watch now has its own dedicated material so that you can create watch faces in other apps such as PhotoShop. The textures provided out the box are 2k by default
  • You can switch out the face material on the body mesh. 3 have been provided in the unitypackage

Other changes

  • Fixed a crash when a process exe cannot be found
  • Fixed a crash when VRChat sends no data to an address that VRCOSC is listening for
  • Changed the Spotify module to set ShouldStart to be false by default
  • Added the ability for the user to change the install location of the Spotify exe
  • Changed the edit icon on the module cards to a settings cog. This more accurately represents its function
  • Changed the enable/disable icon on the module cards to a power symbol. This more accurately represents its function
  • Warn the user in the terminal when they have provided no HypeRate Id.

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2022.608.0...2022.609.0