2024.812.0-v2
A fair amount of QoL and UI changes in this one. V2 is getting fairly close to being released bar a few things I'm looking into and the automatic updater.
App
- TONS of UI improvements
- Little things like text placement, hovering over draggable components, colour changes, etc etc
- Standardisation of the UI
- A lot of the custom components I've made have been redesigned and reimplemented in a way that's useful for module developers, but also has standardised app-wide behaviour
- More of the app, like scrolling, should also work with touchscreen and touchscreen emulation
- Changes from
Page
toUserControl
for runtime pages and custom settings- Modules that implement a runtime view or should now use
SetRuntimeView()
and theirPage
should be changed to aUserControl
- Modules that implement a runtime view or should now use
- Added info button to modules that allows for linking to docs pages
- Added prefabs button to modules to allow for linking to prefab downloads
- Reimplemented most of the main pages to function better and add more visual flare
- Added manual input for ChatBox
- Fixed OpenVR throwing an error when SteamVR wasn't installed
- Attempted to fix UTF16 characters not scrolling in clip variables correctly
- Added bounce mode to all clip variables
- Improved debug panel to make it expandable
- Improved UX for bypassing ChatBox validation
- Attempted to fix start with SteamVR
- This one is a little more tricky and will require more work to get it working on the rest of people's computers (thanks Valve)
- Allow clips to be copy-pasted
- Attempted to fix WindowsMediaProvider race condition
- Added start in tray functionality
- Added metadata parameters to know which modules are currently running
- Added control parameters to enable/disable the chatbox globally, and enable/disable certain layers
- Added PasswordTextBox
- Fixed some clip variables formatting incorrectly at extremes
- Changed custom settings to include the module as a reference
- The constructor for a custom setting's UserControl now requires (YourModule module, YourCustomSetting setting)
- Removed RequestSerialisation from settings
- This was too complicated to force module developers to implement a callback for every single setting, so it's been removed in favour of saving when the settings window closes. VRCOSC will still attempt to save as often as possible to reduce dataloss in the event of a crash
- Silenced some exceptions that users don't need to care about
- Ignore failed OSCQuery attempts
- VRChat likes to leave the port in mDNS apparently, even after the game is closed, which caused VRCOSC to crash trying to contact a non-existent game
- Fixed
Observable<T>
sometimes not notifying of changes - Created KeybindPicker
Official Modules
- Create Keybinds module
- This is a replacement for the Discord module
- Add an instance, name it, enter the parameter(s) you want to trigger the keybinds. Add a new keybind, click on the component, it will turn red to record. Now you can press any key with any modifiers (ctrl, shift, alt, win) and it will record the presses.
- To have this work successfully with Discord, you'll need to set the keybinds in Discord. To recreate the Discord module, go into Discord's keybinds in their app and add new keybinds for mute and deafen
- Added Maths module
- Added module info docs links where applicable
- Added prefab download links where applicable
- Updated a ton of custom UI to use the new standardised components
- Added a button for obtaining an access token to Pulsoid
- Changed textboxes to password textboxes where applicable
- Moved max duration and max intensity from global to per shocker group for PiShock
- Moved float threshold to being per counter and added an int threshold for Counter
- Added milestones to Counter
- Added outgoing parameters to Stopwatch