Developer Update - 3 August 2022

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.

Starting today, we’re experimenting with opening up these threads for comment, with some limitations. Feel free to reply to this thread if you’d like to provide feedback or input.

3 August 2022

2022.2.2p2 Live Beta Update

We updated the Live Beta to 1217 earlier. Here’s the patchnotes:

# Client

## Changes since last Beta build
- Change auto-disable cloning to be off by default
- Adjusted the auto-disable cloning to disable the normal option in settings on each world change
- Changed name in UI of the "Portal Prompt" feature
- Adjustements and fixes to main menu movement

## Fixed since last Beta build
- Fixed an issue where the loading screen would be offset incorrectly
- Fixed issues where the Main Menu movement handle would be enabled even though the main menu wasn't shown

This is just what was ready for merge today, more updates and probably a release to Live this week.

Increased Favorites

A surprisingly large amount of work had to go into this to ensure our UI handled the additional favorites without issue, and also to make sure we don’t bowl over our API with spurious requests!

The old UI is kind of a mess to navigate through, so that held things up a bit. There also had to be coordination with the VRChat API to ensure that the limits were set and enforced properly on the server side.

This task is currently in QA.

Visual Settings

If you recall, “Visual Settings” is a feature that allows you to adjust the visual appearance of either the VRChat UI and the world, or just the world you’re in.

We’ve finished the UI design of this feature – it just needs to be connected to the rest of the system, which was finished last week.

Once that’s done, we’ll probably need to do a little more tweaking to ensure that everything works as expected. Because of how much this feature visually changes, it’s likely it’ll take a bit more QA time than some of the other stuff we’ve discussed lately.

This task currently is in development.

Copy & Paste Buttons

This task is nearly complete! Using the new Paste button on the keyboard, you can paste whatever is in your clipboard into the text field you have selected. Copy will copy whatever you have selected.

As an added bonus: when you select a text field in a world, the VRChat keyboard will appear-- along with the brand new Paste and Copy buttons. Paste is on the right, copy on the left.

This task is nearly complete and is going through the final steps before merge.

Personal Mirror

We’ve changed the way you place/move the mirror around in the world.

Instead of being able to grab the mirror at any time and having a Lock option in the Action Menu, we’ve removed the Lock option and replaced it with “Move”. When you select that option, the mirror will be stuck to your hand and you’ll be able to move it around. Additionally, when you push your right joystick forward, it will push the mirror away from you. Pushing the joystick back will bring the mirror closer. Pull the trigger to lock the mirror in place.

Resizing has changed similarly. When you resize the mirror, it works similarly. Instead of a + and - button, the Action Menu disappears, and you can push up or down on on the joystick to make the mirror bigger or smaller. Pull the trigger to lock the mirror.

We’ve also added a “Face Mirror” which shows your avatar’s face in the HUD! It appears in the middle bottom of the screen to avoid other HUD elements.

We’ve added some icons to the UI as well.

Finally, when you despawn and respawn the mirror, it’ll appear in front of you.

This task currently is in continued design, iteration, and development. We expect to get these new additions into 2022.2.2p3, which will come soon after p2 goes Live.

Viewpoint Near-Clip

We had a challenge with this feature! There was a good callout by some of our engineers that in worlds with larger-than-default FarClip (1000m is default), precision would be highly impacted by changing NearClip to very small values – which are the values that users often want to swap to in order to make very small avatars work properly.

For example, Test Pilots has a 10km FarClip distance. This makes sense when you’re moving along at Mach 4, but when you change your NearClip to 0.1cm, then your depth precision drops like a rock! You get some pretty strange artifacts as a result, like fog breaking, sprites drawing past FarClip, extreme Z-fighting, and more:

So, we’ve replaced the 3cm and 1cm options and instead added three modes:

Off turns off this override completely and uses the world’s NearClip value as set by the reference camera. This is the default.

Dynamic uses 0.001m as the NearClip value, unless FarClip is higher than 1000m. If FarClip exceeds 1000m, Dynamic uses the lowest possible NearCLip value while staying within a factor of 1 million of Near and FarClip, clamped to a max of world reference camera setting. This avoids most (but not all!) possible problems with having NearClip that low.

Forced uses 0.001m no matter what! However, this setting will reset between world changes. You’ll be warned when you enable it, because using it may break the world you’re in.

This task is currently in review.

Camera Changes

We’ve got a LOT of camera changes in our queue. These aren’t all of them, but here’s the ones we’re working on and how they progressed today.

Portrait Mode

As mentioned last week, this change will ensure that the camera outputs screenshots in the correct orientation based on the rotation of the camera – like your phone! In other words, your portrait-mode photos will actually be… well, portraits.

This task is in review, and should be merged soon.

Increased Screenshot Resolution

We want to (effectively) uncap the resolution setting you can choose for your camera. We also wanted to allow users to change the resolution in-app, instead of having to resort to editing a config file.

That second part is done – you can now change between resolutions from within VRChat.

We’re currently iterating on some design and UI, as well as investigating the resolutions we want to make available.

This task is currently in development.

Save Directly to Gallery, Desktop Camera

We’re looking at some additional camera improvements. We want users to be able to save photos directly to their gallery, and we also want to allow Desktop users to use the photo camera.

Both of these features shouldn’t be too difficult to add in.

These tasks are both in development.

Hide Avatars by Distance / Limit Number Of Shown Avatars

This feature got a bit of technical work today, including some in-Live testing to ensure our shader properly instanced:

We’re also tweaking the language of the UI a bit to be more clear. We also had to account for some Udon functions failing when avatars were hidden by this feature (ex: GetBoneTransform).

Here’s another testing video of it in action:

We’re pretty happy with how this feature is coming along. At this point, we’re mostly just polishing it up. As this feature is intended to help folks increase their performance in crowded spaces, we’re trying to optimize it as much as possible.

This task is currently in the development stage and is nearing completion.

Conversation Dome vs. Local Player Voice Falloff Slider

After some internal discussion, we’re going to stop working on the Local Player Voice Falloff Slider and instead funnel our time and effort into the “Conversation Dome.”

To recap, the Conversation Dome is a sphere/dome around you with a customizable size. Anyone outside the dome will have their voice turned down almost completely, allowing you to “focus in” on the conversation near to you.

We’ve been designing UI elements for this feature, as well as figuring out the details of how exactly it will work.

This task is currently in the design stage.

Speech Bubbles

Development continues on our implementation of “Text to Text” as speech bubbles! We’ve been doing some exploration of how we might hook up OSC to this system, and have consulted with some community members who have built OSC-to-text systems for avatars.

One challenge we’re facing is how to transmit text via OSC, as we can only send ASCII. Our initial implementation might be limited to the ASCII character set, but we have some ideas for working around this limitation.

There’s some other important social and safety considerations to be made, so some further design syncs were scheduled to discuss them.

CPU Core Affinity (CCX) and Process Priority

This is two tasks, they’re both waiting for work to be done. No UI required, it’s all technical.

Some modern AMD CPUs perform better if you restrict VRChat to only using a single CCX. This isn’t possible to do with external tools anymore, so we’re looking into being able to do it manually, or perhaps detect these CPUs and do the optimization automatically.

Additionally, users can’t set process priority on VRChat anymore due to EAC. This usually doesn’t have much of an effect on performance, but users have asked for it quite a lot, so we’re looking into it anyways.

Bug Fixes

A lot of the effort today was on fixing a bunch of bugs with new the new features. There was work on these bugs!

Conclusion

That’s it for today! We’re hoping to get a Live release out this week as well as another Live Beta for the next patch, 2022.2.2p3. We’ll see how that goes.

See you tomorrow!

70 Likes

Keep up the good work!

18 Likes

that was really fast

3 Likes

Swaggy

Third Person for desktop?

4 Likes

Will the keyboard input in world be available to Quest users? If so, would Quest users be finally able to input text into Udon video players?

1 Like

Not bad!

3 Likes

Good stuff

2 Likes

Awesome Job, hope you get this stuff working soon, it all looks really helpful

4 Likes

Wow if only all these things existed a week ago :thinking:

14 Likes

why is the avatar hider triangles on a transparent shader, isn’t that expensive once there are more than a few people displayed by it? is that material through GPU instancing or something? I would rather have the least expensive option, i don’t care about not rendered avatars looking good

3 Likes

What needs to be fixed?

If only you did all these BEFORE slapping eac into the game

26 Likes

do you guys plan on making avatar search a feature at all or is it still something we’ll keep dreaming of?

22 Likes

what if you added a modding market place, so then you could still have EAC but people could still use mods? (the steam marketplace)

12 Likes

Hope flying will be a feature eventually… Especially with custom animations for it… Then I know people will be happy, especially with a noclip option.

8 Likes

nice work guys, its nice to finally have these features, i’ve always wanted options like these

1 Like

Really glad you guys are adding stuff that could have been done with mods. I still hate you guys for the EAC update, but yes, thanks for adding these things back.

5 Likes

they are instanced so there is little cost to having more

think you mean to say Steam Workshop

1 Like