vrchat-community / osc

Files and Info on using OSC to communicate with VRChat
MIT License
233 stars 4 forks source link

Additional bool parameter for `/chatbox/input` -- `lowPriority` #145

Open cyberkitsune opened 1 year ago

cyberkitsune commented 1 year ago

What's the idea?

The issue

Currently, in VRChat, when a chatbox message is displayed, regardless of content, it appears in the RemotePlayer mask. This means it shows up in mirrors that show other players, and in cameras with remote players.

This makes sense for some contexts, such as transcribed or translated speech, or just general messaging. In these context the messages won't always be continuous, as they will only be displayed while the player is talking. However, for other contexts, like system information or music currently playing OSC scripts, this could get annoying for other players, as they'd see the chatbox constantly updating in mirrors all the time, and they'd always be in photos as well.

My proposed solution

My proposed solution to this would be to add another paramater to the chatbox endpoint, lowPriority, and if it is true, the resulting chatbox would go to the UI masking layer instead of RemotePlayer for other players. (and UI instead of LocalPlayer for one's own chatbox)

This allows OSC chatbox script makers to opt-out of being forced on in mirrors and cameras, reducing users complaining that people find the script always being around in mirrors and photos annoying.

Is there another way?

Alternative solutions include: