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:
Reverting all chatboxes back to UI layer
In-game option to decide what masking layer your outgoing chatboxes live, or
In-game option to decide what masking layer incoming chatboxes live.
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 istrue
, 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: