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 visible (Hide)

VRCOSC - 2024.102.0 Latest Release

Published by VolcanicArts 10 months 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

  • Fixed HardwareStats not pulling integer data correctly
  • Split all heartrate modules into having a connected and disconnected state for the ChatBox
    • All data will migrate correctly so all old configs will still work
  • Added ability to customise the format of numbers for HardwareStats for the ChatBox

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.1220.0...2024.102.0

VRCOSC - 2023.1220.0

Published by VolcanicArts 10 months 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

  • Fixed OVR stack overflow crash due to recent OVR changes
  • Fixed VoiceRecognition responding even when disabled
  • Fixed OSCQuery parameters with spaces not being found
  • Backported HardwareStats changes from V2
  • Backported Weather changes from V2
  • Added charging variables to OpenVRStatistics
  • Fixed incorrect state handling for Timer module
  • Dependency bump

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.1022.0...2023.1220.0

VRCOSC - 2023.1022.0

Published by VolcanicArts 12 months 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

New Module - Timer

  • Lets you enter in a time to count down to for the ChatBox

What's Changed?

  • Allow PiShock modes to be executed using wildcard parameters for the group
  • Ensure selected clip is unselected when resetting the timeline
  • Fix VoiceRecognition crashing when invalid instances were present
  • Fix node finding in OSCQuery from returning a premature address
  • Update PiShock module to support V3 firmware

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.1007.0...2023.1022.0

VRCOSC - 2023.1007.0

Published by VolcanicArts about 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

New Module - Voice Recognition

  • Lets you assign values to parameters when a word or phrase is recognised

Maths Module

  • Significant changes to the functionality
  • Can now retrieve any parameter using OSCQuery
  • Now has custom constants and functions
  • Input parameter now acts as a trigger parameter
  • Implicit multiplication is now disabled to allow for parameter names to function correctly

What's Changed?

  • Clarify PiShock wording
  • Clarify TickerTape wording
  • Fix NaN values when there's no media source
  • Escape new lines in media titles and artist names

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.928.1...2023.1007.0

VRCOSC - 2023.928.1

Published by VolcanicArts about 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

New Module - Maths

  • The Maths module lets you define equations to execute when a parameter is updated, and put the result into another parameter
  • This also allows you to convert parameter types
  • A full list of built-in variables and functions is available in the app

What's Changed?

  • Allow SpeechToText to have multiple models
    • No migration could be done for this. You will have to re-enter your model directory
  • Renamed ChatBox Text to Ticker Tape
    • Your ChatBox settings will be migrated automatically
  • Improved Ticker Tape scroll behaviour
  • Allow IntTextBox to define a min and max value to ensure PiShock module has limits
  • Add auto-changing character to Clock module to display time in 30 min intervals
  • Fix logging sharecode instead of shocker name in PiShock module
  • Increase reconnection limit
  • Ensure heartrate provider terminator is awaited correctly
  • Start programs with their working directory set to the parent directory
  • Fix creating a new clip not successfully saving the changes of its contents

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.826.0...2023.928.1

VRCOSC - 2023.928.0

Published by VolcanicArts about 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

New Module - Maths

  • The Maths module lets you define equations to execute when a parameter is updated, and put the result into another parameter
  • This also allows you to convert parameter types
  • A full list of built-in variables and functions is available in the app

What's Changed?

  • Allow SpeechToText to have multiple models
    • No migration could be done for this. You will have to re-enter your model directory
  • Renamed ChatBox Text to Ticker Tape
    • Your ChatBox settings will be migrated automatically
  • Improved Ticker Tape scroll behaviour
  • Allow IntTextBox to define a min and max value to ensure PiShock module has limits
  • Add auto-changing character to Clock module to display time in 30 min intervals
  • Fix logging sharecode instead of shocker name in PiShock module
  • Increase reconnection limit
  • Ensure heartrate provider terminator is awaited correctly
  • Start programs with their working directory set to the parent directory

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.826.0...2023.928.0

VRCOSC - 2023.826.0

Published by VolcanicArts about 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

  • Increase time position manually to emulate browsers sending time data in Media module
    • Using a browser for media will now increase the time in your ChatBox
    • This has the added benefit of also updating faster for any other sources
  • Updated dependencies
    • Fixed a crash when trying to use the GUI in a VR overlay
    • Fixed a crash/exception that resulted from audio capture being left open as a foreground thread
  • Fallback to using actual controller retrieval when hinted controllers cannot be found
    • Vive wands should now work correctly with OpenVRStatistics
  • No longer force schedule parameter sending
    • This resulted in any parameters being sent on module stop not actually being sent to VRChat
  • Add check for no values present when decoding an OSC message
  • Rewrite CaptureDeviceWrapper for better stability
    • Along with the capture library updating, the wrapper I've written has been overhauled to make sure it cannot get into a bad state
  • Added invalid model directory check to prevent VOSK crash
    • This used to be thrown but something changed to no longer throw the error so this will warn you if you've extracted a model incorrectly
  • Return safe response instead of throwing errors in PiShock module
    • PiShock module will no longer crash when invalid values are set during runtime in the phrase section of the module's settings

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.814.0...2023.826.0

VRCOSC - 2023.814.0

Published by VolcanicArts about 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

  • Rewrote start in tray behaviour to work consistently
  • OSC stability improvements
    • The app will no longer get into a bad state if any OSC port is incorrectly bound to
  • SpeechToTextProvider stability improvements
    • You should find that restarting VRCOSC will no longer leave the buffer open causing a memory error on first run
  • HeartrateProvider stability improvements
    • All heartrate modules now have improved reconnection logic and will not leave a websocket open when restarting the module
  • Check For Updates button in the tray now force checks for an update
  • Ensure PiShockModule logs the correct duration and intensity if a shocker has limits set from the website
  • Ensure only loaded modules can be considered for migration stopping a ChatBox crash
  • Ensure outdated modules with old references don't throw an error during existence check
  • Add check for parameter type when sending parameter

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.805.0...2023.814.0

VRCOSC - 2023.805.0

Published by VolcanicArts about 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

Module Development Overhaul

Module developers! I've completely overhauled how metadata and update methods are defined for modules.

  • All metadata is now defined on the module class using C# attributes (these are prefixed using Module to easily find all the valid attributes).
  • All update methods (yes, multiple!) are defined on any methods using C# attributes.

Parameter retrieval has also had an update to make way for world modules in preparation for world OSC, and for better handling wildcards.
You can ask questions about these changes in the #module-developers Discord channels. Just grab the @sdk-updates role from the Channels and Roles section.

An update to the Wiki will come in the near future.
More changes to how modules are developed are likely to come. I hope to have 99% of things set in stone by the time repo management is finished.

What's Changed?

  • Added customisable milestones to the Counter module
  • Allow SpeechToTextProvider to listen for microphone changes
  • Allow for relative time formatting in the ChatBox
    • You can now use Discord's relative time formatting (<t:12345678:R>) and VRCOSC will format it
  • Allow Startup screen to contain launch arguments
  • Increase tray transition delay to ensure VRCOSC puts itself into the tray
  • Fixed PiShockProvider sometimes crashing when it couldn't retrieve shocker data
  • Allow VRCOSC to minimise to tray when pressing the X button
  • Prevent possible crashes when invalid OSC addresses are used
  • Added reset to default buttons for global app settings
  • Fixed duplicate events being triggered from modules causing incorrect event lengths in the ChatBox
  • General optimisations and bug fixes

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.727.1...2023.805.0

VRCOSC - 2023.727.1

Published by VolcanicArts about 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

  • Rewrite module persistence to be more stable and easier to use for developers
  • Fixed incorrect formatting of Counter module counts on module start
  • Added valuetoday variable for Counter module
  • Add voice control for PiShock module
  • Fix SpeechToText not recognising your microphone after module restart
  • Added option to have VRCOSC automatically put itself into the tray on app start
  • Rewrote OSC library to use all custom code to be faster, less memory intensive, and cleaner
  • Lowered OnFixedUpdate rate to 20hz
  • Added reset to default button for the ChatBox screen
  • Fixed Counter module state not being set on module start
  • Allow the foreground window to be shown in the AFK module
  • Allow decimal numbers for Clip event times
    • One thing to note is that the event is now processed when a ChatBox update occurs, meaning that the event time starts when the update occurs. This should make for more defined behaviour across different setups
  • Fixed ChatBoxText module throwing error if running and empty text is submitted

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.706.0...2023.727.1

VRCOSC - 2023.727.0

Published by VolcanicArts about 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

  • Rewrite module persistence to be more stable and easier to use for developers
  • Fixed incorrect formatting of Counter module counts on module start
  • Add voice control for PiShock module
  • Fix SpeechToText not recognising your microphone after module restart
  • Added option to have VRCOSC automatically put itself into the tray on app start
  • Rewrote OSC library to use all custom code to be faster, less memory intensive, and cleaner
  • Lowered OnFixedUpdate rate to 20hz
  • Added reset to default button for the ChatBox screen
  • Fixed Counter module state not being set on module start
  • Allow the foreground window to be shown in the AFK module
  • Allow decimal numbers for Clip event times
    • One thing to note is that the event is now processed when a ChatBox update occurs, meaning that the event time starts when the update occurs. This should make for more defined behaviour across different setups
  • Fixed ChatBoxText module throwing error if running and empty text is submitted

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.706.0...2023.727.0

VRCOSC - 2023.706.0

Published by VolcanicArts over 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

New module - Process Manager

  • Allows you to start and stop apps on your PC using avatar parameters
  • Usage is as follows:
    • Sending true to VRCOSC/ProcessManager/Start/* will cause the app name in place of * to open
    • Sending true to VRCOSC/ProcessManager/Stop/* will cause the app name in place of * to close

Other Changes

  • Fixed PiShock not allowing username/apikey changes without an app restart
  • Fixed primitive lists not being recognised correctly
  • Extracted SpeechToText functionality into SpeechToTextProvider for the SDK
  • Added missing PiShock prefab notice
  • Added ability for PiShock button parameters to have a delay to prevent accidental activation
  • Added ability for VRCOSC to send parameters on whether a module is currently running

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.703.0...2023.706.0

VRCOSC - 2023.703.0

Published by VolcanicArts over 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

  • Fixed PiShock module not working for accounts that weren't mine
    • API documentation was a bit lacking for how API keys work... You should find that you can now use the module and it'll work correctly
  • Added maximum duration and intensity limits for all shockers
  • Sharecode limits are now respected when sending requests
  • All PiShock responses are now logged for easier debugging
  • Added Success parameter to PiShockModule that becomes true for 1 second on a successful execution
  • Refactored GameManager into AppManager for better performance and predictability
  • Parameters can now contain wildcards
    • Using a * in a parameter address lets you access the new parameter received methods to extract wildcards

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.629.0...2023.703.0

VRCOSC - 2023.629.0

Published by VolcanicArts over 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

New module - PiShock

  • Control individual or groups of shockers from avatar parameters
  • A new prefab has been released that lets you control groups from your action menu

Other Changes

  • Added UI scale slider
  • Added artist name truncation
  • Added more module events
  • Removed legacy module serialisation
  • Fixed ChatBox sometimes removing the wrong data on load
  • Converted HeartrateModule to use continuous smoothing
    • This looks 100x better than before, and the HeartrateNormalised parameter will be smoother locally too
  • Fixed ChatBox not resetting states and variables on module (re)start
  • Improved OSC decoding memory usage
  • Converted ModuleManager to use AssemblyLoadContexts
    • In theory this should allow modules to provide their own dependencies if needed
  • Bumped dependencies

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.619.0...2023.629.0

VRCOSC - 2023.619.0

Published by VolcanicArts over 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

  • Refactored Speech To Text to be more stable and more accurate
    • You should find it won't silently crash anymore as well as be more accurate
    • You can now change the required confidence level for a recognition to be pushed to the ChatBox
  • Ensure default average tracker battery defaults to 0 to stop integer overflow
  • Changed AFK module to update at max rate
  • Added --module-debug flag for module developers
  • Changed OpenVRStatistics to format integers properly
  • Added ability for Media module to truncate the title
  • Added all avatar data to AvatarConfig
  • Fixed attribute sliders not responding to reset to default button
  • Updated Space Grey theme
  • Fixed DrawableModuleAssembly's title not respecting theme changes
  • Bumped framework

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.618.0...2023.619.0

VRCOSC - 2023.618.0

Published by VolcanicArts over 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

  • Fixed incorrect values being sent to CPUTemp and GPUTemp in HardwareStats
  • Fixed CounterModule not saving state correctly and throwing an exception
  • Fixed CounterModule grammar error
  • Changed some error messages to be more clear
  • Adjusted ChatBoxTextInstance column widths to prioritise text

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.617.0...2023.618.0

VRCOSC - 2023.617.0

Published by VolcanicArts over 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

Tray Icon

  • VRCOSC can now minimise to the tray
  • Double clicking the tray icon will cause the window to disappear, meaning it will no longer use any GPU when open

Persistent State

  • Modules can now save custom states to load after an app restart
  • For example, the CounterModule can now save the counts of each key

Other Changes

  • ChatBoxV3 will no longer remove data if a module doesn't exist
    • This allows for modules to load incorrectly without you losing your ChatBox settings for said module
  • Allow ChatBoxText to have multiple instances
  • Fix a reference bug when comparing default instances of module settings
  • Log all module exceptions for development debugging
  • Fix WebSocketHeartrateProvider sometimes not initialising correctly
  • Auto-move built assembly to assemblies folder for easier debugging in TemplateModule
  • Changed ExchangeRateProvider to update every 2 hours instead of 10 minutes
  • Add normalised temperature values to HardwareStats
  • Add delay to module start to allow the terminal to log correctly
  • Allow multiple parameters to add to the same key in CounterModule
  • Added Media paused event
  • Ignore misaligned OSC packets instead of crashing
  • Allow exception notifications to open the log file

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.601.0...2023.617.0

VRCOSC - 2023.601.0

Published by VolcanicArts over 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

Exchange Rate

  • A module that lets you choose a base currency and have the exchange rate displayed in the ChatBox
  • Why did I make this... I have no idea
  • To access the exchange rates you use the ChatBox variable with the _CURRENCYCODE syntax

Other Changes

  • Fix SpeechToText not handling the final recognition correctly
  • Converted Heartrate code to an extensible class for external modules to use
  • Guard against outdated/failing external modules

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.531.0...2023.601.0

VRCOSC - 2023.531.0

Published by VolcanicArts over 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

Counter Module

  • Allows you to count how many times any parameter has changed
    • This includes: bools (false -> true), ints (0 -> Not 0), and floats (0-0.9 -> 0.9-1)
    • As explained in the module settings, you provide a custom key that can then be used to display the counter in the ChatBox

Other Changes

  • Added import and export buttons to the ChatBox screen
  • Serialisation improvements
    • Due to future changes that are not in this release, migration will occur to put your modules back into individual files
  • custom directory for modules has been renamed assemblies
    • This is in preparation for future system changes
  • Refactored ModuleAttribute system to allow modules to provide custom attributes and serialisable structures
  • Allow ChatBox to have dynamic suffixes
  • Fixed default state of a single-module clip being checked on deserialisation causing wrong behaviour
  • Fixed SpeechToText sometimes recognising "the" when no speech was said
    • This is an experimental fix. Feedback is appreciated
  • Added notices to some modules' help popovers
  • Added ability for the module listing screen to organise modules by assembly
  • Added quick open button to module logs
  • Fixed various UI issues

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.516.0...2023.531.0

VRCOSC - 2023.516.0

Published by VolcanicArts over 1 year 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 and start menu.
  • Join the Discord Server to get help or make suggestions.
  • If you have trouble with the software or prefabs check the FAQ.

What's Changed?

  • Complete UI overhaul
    • The UI backend has been re-written to look better and be more functional
    • Themes have had an update to ensure all of them look good and are readable (I see you light theme people)
  • Serialisation is now even more stable and resilient
  • Fixed hitching on module start when using SpeechToText module
  • Fixed edge case state issues with SpeechToText
  • Fixed non-running modules receiving parameter updates
  • Optimised Weather module
  • Fixed updater asking twice if app version was too outdated

Full Changelog: https://github.com/VolcanicArts/VRCOSC/compare/2023.509.0...2023.516.0