Xiexe / XSOverlay-Issue-Tracker

This is a public repository for tracking issues with XSOverlay. There will be no other activity here other than bug reports / feature requests.
10 stars 4 forks source link

Add OSC output for VRChat #208

Open DrBlackRat opened 2 years ago

DrBlackRat commented 2 years ago

Feature Description: So with the latest VRChat Open Beta they introduced OSC for Avatars, with it you can send boolean, integers or floats to your VRChat Avatar. I think it would be a cool idea for XSOverlay to send boolean to VRChat for when your layout is open, or for when your keyboard is open. With this people could make things like a visor that goes down when you switch to layout mode within XSOverlay.

Additional context: https://hello.vrchat.com/blog/vrchat-osc-for-avatars

Sarniwoop commented 2 years ago

I would definitely make use of this

Xiexe commented 2 years ago

It would be very helpful if you'd provide a list of all of the things you think might be useful for OSC.

Currently I have

leftControllerBattery rightControllerBattery averageControllerBattery averageTrackerBattery isOverlayOpen isKeyboardOpen overlayCount

DrBlackRat commented 2 years ago

Maybe also add a "lowBattery" bool, so one general bool that gets set to true as soon as one device reaches a low battery.

Xiexe commented 2 years ago

I can see the arguments promoted by that now.

"My trackers are low but my controllers aren't, can you stop sending a bool for trackers????"

"Hey why doesn't the bool get sent for trackers??? Wtf??? Broken software"

DrBlackRat commented 2 years ago

Hmm, maybe make a "controllersLowBattery", "trackersLowBattery" and a "generallLowBattery". My biggest problem with the ones you have suggested would be that you only have "averageTrackerBattery" which wouldn't show a low battery if only one of the 3 (or more) trackers is close to a low battery.

Also, having bools for this would save a lot of parameters since you wouldn't need a whole float just to show if you are on low battery.

Sarniwoop commented 2 years ago

Maybe a bool for each controller if they're currently charging? I have no clue how feasible it would be to include but system info like VRAM, GPU, CPU, temp, framerate etc would be very welcome too.

Xiexe commented 2 years ago

@Sarniwoop system specs and temp and stuff are include-able, but fps and temp would require you to keep the performance monitor open

To be honest I've been wanting to redesign the layout on that panel for awhile now but haven't had the time or energy.

Sarniwoop commented 2 years ago

Another thing I thought of was a bool for when the wrist panel is visible. Would be cool to have a holographic clock or whatever appear on your avatar when you check the time

iryis commented 1 year ago

Another thing that could be useful is allowing the keyboard to utilize the chatbox OSC routes:

https://docs.vrchat.com/docs/osc-as-input-controller /chatbox/input s b n - Input text into the chatbox (ideally set b to True to send immediately) and maybe when typing on keyboard use /chatbox/typing b - Toggle the typing indicator on or off

Sorry for necro, thought this was relevant.