Hello! Welcome to the latest VRChat Developer Update. Here’s what we were up to today.
Check out our Dev Update from yesterday for some context.
Yesterday, we allowed comments on a Development Update for the first time. It went okay! We’ll keep them on for now, although that might change in the future.
The features described below may not be released yet unless otherwise noted, and may change before they become available to users.
We had some pretty serious downtime today between 4PM PT and 6:30PM PT. During that time, VRChat wasn’t accessible for most people.
The issue was internal, and was not an attack. An internal failure caused other systems to fail.
The original bug was fixed, and the subsequent issues it caused are being addressed so other failures won’t cause the same problems.
You can now adjust the point at which your microphone goes “hot” via a simple slider in the Quick Menu audio tab.
This helps to prevent things like heavy breathing, sniffling or other background noises from being broadcast to all your friends.
The default value (5%) should be good enough for most users, but if you play VRChat in a noisy environment, it might be worth cranking it up a bit. If your friends start to say you’re cutting in and out while talking, that’s a pretty good sign you need to bring the slider back closer to default. Try playing around with it!
In addition to that, we’ve also added a simple button that toggles noise suppression / noise cancellation. This will help remove background noise from your microphone input, like the sound of a computer fan or an air conditioner.
This feature is in QA, and should be in the next Live Beta release.
We’ve changed the way you place/move the mirror around in the world… again!
We received a lot of feedback that folks preferred being able to grab the mirror, so we’ve gone back to that. Except this time, we’ve left in the ability to manipulate and move around the mirror after you’ve grabbed it with your joystick. When you push your right joystick forward, it will push the mirror away from you. Pushing the joystick back will bring the mirror closer.
The behavior here should feel very familiar to users of XSOverlay!
On top of that, we implemented radial controls (like avatars use) where it makes sense.
Additionally, we got some other feedback stating that the calibration mirror shouldn’t rotate with your head. Good call. It doesn’t do that anymore.
This feature is in QA.
We thought the “Conversation Dome” name was kind of awkward, so now we’re calling it Earmuffs! Much easier.
When your Earmuffs are on, a circle appears around you (representing a sphere) that can be adjusted through the Quick Menu. Anyone outside that range will have their voice turned down almost completely, allowing you to “focus in” on the conversation near to you. You can adjust that range as you see fit.
A red bar will appear above your Quick Menu that lets you know it’s activated – and what its radius currently is. At any point you can click that bar and immediately deactivate the dome.
In addition to adjusting the range of the earmuffs effect, you can also adjust the falloff distance.
So, combined, the range determines the distance at which player voices will be muted, and the falloff determines where those voices start to fade out.
If you set the falloff distance to be equal to your radius, you won’t hear any voices unless they are inside the range of the dome. On the other hand, if you increase the falloff distance, then you’ll still hear voices outside the dome – they’ll just fade the further away they are from the edge of the dome.
We’ve also added a third slider that allows you to customize how far down voices get turned when they’re outside the “muted” radius. So, you could have this at a very low (or zero!) volume, so the world doesn’t feel empty-- just a lot quieter.
In addition to all this design work, we also got some icon art sorted out-- which actually helped us choose the new name, too.
As a final note: hey, world authors, don’t worry about your Udon-powered voice volume changes. The volume adjustments made by the Earmuffs feature apply as the final layer “on top” of Udon and world settings, so it shouldn’t break things. Let us know if it does.
This feature is still in the iteration and polish stages, but we think it’s getting pretty close to completion.
Some concerns were brought up yesterday in feedback regarding Animators being disabled and not running.
We did some investigation. As it turns out, this problem doesn’t exist… as long as you aren’t using Write Defaults. If your avatar’s animator uses Write Defaults, you can get into unexpected Animator states.
Despite both VRChat and Unity recommending against using it, many avatar creators still use Write Defaults, and many avatar prefabs distributed still have it on. So, unfortunately, those avatars will not behave properly after being culled and un-culled by the Avatar by Distance feature.
One solution would be to leave Animators running, but that is potentially a large performance concern, especially considering that poorly-made Animators are one of the biggest sources of frame time loss for many avatars we’ve examined.
Another solution might be to turn mesh renderers off, but we’d have to check each frame that the renderers were still off, as an animation might try to turn them on. This also doesn’t solve the Animator performance issue-- and also runs into other issues with avatars that play sounds, have lights, etc.
We’re investigating this issue, but may release it into Beta as-is. Depending on how many people complain about broken avatars (because they’re still using Write Defaults), we may have to return this one back to get some more work.
Easy update here: it’s in!
This UI looks messy, but remember we’ve got the new Main Menu on the way out soon.
This task is still in QA, but it looks good for showing up soon.
We’ve added in buttons that lets you select the camera’s resolution.
Two important notes here: Since this screenshot, we renamed “2K” to “QHD”, for technical correctness.
Second, Quest can’t handle high resolutions. In fact, taking an 8K picture will crash you. Oops. We’ll likely end up limiting the max resolution the Quest can take pictures at.
This task is in iteration after some QA feedback.
As was mentioned during the last update, a basic prototype for the text-to-text chatbox has been completed.
With the Text chatbox, you can type messages that will then appear in a chat bubble under your nameplate. The chatbox will automatically resize itself to accommodate whatever text has been entered, up to a certain character limit.
In the prototype, you access the chatbox through the Action Menu under Options. Within the chatbox menu, you have a few options: keyboard, clear chatbox, visibility, display duration, and chatbox size.
Keyboard opens up a keyboard (surprise!) that allows you to enter text into the chatbox.
Clear Chatbox will clear your messages. This also happens if you send a blank message via the keyboard.
Visibility allows you to change whose chatboxes you can see-- everyone, friends, or only your own. By default you can only see chat from your friends.
Display Duration sets how long other players’ chatboxes will appear for you locally. This is different from when a user clears their chatbox. That clears it for everyone, no matter what their display duration is set to.
And finally, Chatbox Size lets you scale the size of the chatbox locally. Here’s a video preview.
We’ve consulted with some creators of popular VRChat-made OSC TTS systems, because we’re also interested in ensuring you can control your chat textbox with OSC. We want to make sure those systems work flawlessly with our Chat Bubble system. OSC may not be implemented in the first pass, depending on how development goes, but we’ll see.
This feature still needs QA and has some further work to be done-- for example, Streamer mode will turn off chatboxes for everyone. Regardless, Text Chatbox might make it into the next beta release in a partially-finished state.
As was the case yesterday, work continued on fixing some bugs involving the newly-added features.
There’s a significant bug that’s present in Live that we really want to get patched for the weekend. It causes issues when you try to join a full instance. We’re trying our best to get a patch out for that tomorrow, as most of the “bounce off full instance” occurrences happen during crowded weekend events.
We’re also testing a fix for a bug that sometimes prevented your home world from loading properly.
That’s all for today! We were planning on pushing a release tonight, but unfortunately the servers had a bit of a hiccup. We’ll have to see how things look tomorrow, but another Live Beta release is likely, as well as the release of 2022.2.2p2.
See you tomorrow!