Developer Update - 12 August 2022

Hello! Welcome to the latest VRChat developer update for 12 August, 2022. For context, you might want to check out yesterday’s update.

Schedule Change

As we mentioned in the previous days, we’re going to change the frequency of these posts.

Starting next week we’ll be posting these twice a week (on Tuesday and Friday) versus the daily schedule we’ve had for the past two weeks.

Eventually we’ll be working our way to doing them just one per week. Once we hit that point, we’ll stay there for the foreseeable future.

This means that the next update you’ll see from us will be on Tuesday!

2022.2.2p2c Release

As we said we would do yesterday, we pushed out VRChat 2022.2.2p2c this morning in order to help with issues that have been affecting our server stability.

2022.2.2p3 Live Beta Update

Earlier today, we pushed out an update to the Live Beta! It includes a TON of new features that were going to go into p4, but because p3’s launch was delayed, we’re pulling them forward.

We talked about most of them yesterday, but let’s go over them again quickly.

Testing for this Live Beta update went very late, and dominated a lot of our time today, so… there’s not much to update except that!

Go check out #open-beta-announcements on our Discord to see all the latest goodies, or expand the section below:

VRChat 2022.2.2p3 Live Beta Latest Changes

Client

New Features

  • Text Chatbox! A text chatbox that appears over your head, where you can type messages at each other
  • Access it via your Action Menu, under Options
  • You can send chat via the keyboard, or clear the chatbox
  • You will see chat boxes over other people’s heads with text they’re sending
  • You can change the Text Chatbox settings in the Quick Menu
    • By default, you will only see chatboxes from your friends. You can turn it on for everyone, or only show your own
    • You can change the display duration from 2 seconds up to 60 seconds
    • You can adjust the size from 50% to 150%
    • You can adjust opacity from 25% to 100%
  • Desktop Camera! You can spawn the VRChat camera in Desktop mode from the camera tab
    • You can detatch the lens and fly it around! Oh wait this is drone mode, isn’t it
    • The “drone” has a distance limit it can’t exceed of 15m
    • It can noclip through walls but it will have collision later
    • We’re also going to add drone functionality to VR later
  • Slider snapping allows you to to make sliders in the VRChat UI “snap” to whole values, making it easier to hit 100% on the volume slider
  • More favorites!
    • Friends: 3 lists * 150 favorites = 450 favorites (2.3x increase)
    • Worlds: 4 lists * 100 favorites = 400 favorites (1.56x increase)
    • Avatars:
      • Without VRC+: 1 list * 50 favorites = 50 favorites (2x increase)
      • With VRC+: Avatars: 6 lists * 50 favorites = 300 favorites (3x increase)
  • Hide Avatar Globally!
    • Click on someone using an avatar you don’t like and click “Hide Avatar Globally”
    • Now, that avatar will never be shown, no matter who’s wearing it
    • The only way to override this is to use “Show Avatar” on that person
  • Added in an optional confirmation for the Calibrate button so you don’t accidentally hit it
  • Added a resolution selector to the camera
  • When pictures are taken with the camera held in portrait orientation, they’re saved in portrait orientation
  • Added percentage readouts to the quick menu audio volume sliders

New Changes

  • Improved Personal Mirror resizing behavior
  • Earmuffs now optionally also affect avatar audio
  • Adjusted Quick Menu informational headers (Streamer mode, earmuffs, etc)
  • Adjusted VRCat graphic when in Earmuffs mode
  • Safety and security improvements

Changes since last Open Beta

  • Adjusted Gesture icons so they’re usable in Desktop mode, visible in bright worlds, and so they fade away after inactivity
  • Personal mirror now handles clear flags a lot more nicely and doesn’t mangle world mirrors

Fixes since last Open Beta

  • Fixed: the action menu wouldn’t open until you open the QM first after a world change
  • Fixed: the wrong value is used for nearclip when a reference camera isn’t defined
  • Fixed: you’re only able to grab the MM with the most recent hand that has pulled the trigger

Known Issues

  • There’s an very rare edge case issue, probably server-side, that may result in users getting logged out randomly while using this beta. We think this isn’t a common issue at all but wanted to note it just in case
  • Camera smart rotation works great… as long as you’re not pressing the button to flip the camera. If you rotate the camera manually, it’ll put the picture upright. If you press the button to make the camera face you, the picture will be upside down
  • We’ve observed some odd behavior related to rejoining instances that you’ve already been in

SDK

Features, Changes, Fixes, and Improvements

  • Fixed: user-supplied masks on the FX layer were ignored, and prevented Gesture transform animations from working. Docs updated: Playable Layers
  • All input fields will pop up the keyboard, and we’ve added a component that’ll disable that feature if you don’t want it on a field
  • Added in the ability to customize mirror skyboxes and clear flags
  • Added several new Udon nodes related to graphics and shader manipulation:
    • VRCGraphics.DrawMeshInstanced
    • VRCShader.SetGlobalFloat
    • VRCShader.SetGlobalFloatArray
    • VRCShader.SetGlobalVector
    • VRCShader.SetGlobalVectorArray
    • VRCShader.SetGlobalMatrix
    • VRCShader.SetGlobalMatrixArray
    • VRCShader.SetGlobalInteger
    • VRCShader.SetGlobalTexture
    • VRCShader.SetGlobalColor
  • You can now set gravity in a world to 0 or negative values

Known Issues

  • Despite the addition of the ability to mark an input field to not pop up the VRChat keyboard when interacted with, it… doesn’t work yet.
  • You can only set global shader properties once

Text Chatbox

If you’re not familiar, we’re adding a text chatbox that you can type messages at each other with. We’ve talked about this in a few previous Dev Updates. Here’s the ones with the most info:

Here’s a short video:

By default, chatboxes are only shown for your friends. You can choose to show everyone, or show nobody’s chatbox. If someone’s using the chatbox feature and you have it turned off for them, you’ll see a red “typing” indicator where the chatbox normally would be. If you see someone with that and want to see what they’re chatting about, relax your settings to a more permissive level.

Also, we support OSC input! The OSC endpoints are:

  • /chatbox/input s b Input text into the chatbox. If b is True, send the text in s immediately, bypassing the keyboard. If b is False, open the keyboard and populate it with the provided text.
  • /chatbox/typing b Toggle the typing indicator on or off.

Right now the chatbox’s OSC input endpoint only supports ASCII characters. It will support UTF-8 later. The chatbox itself supports UTF right now.

We’ve been keeping RabidCrab and Wizard up to date on our OSC implementation, so they might have updates available pretty soon to support this new feature.

You can also customize how these chatboxes look.

Desktop Camera

You can now use the VRChat Camera on Desktop. You can also control the lens with your mouse and keyboard, flying it around like a drone.

We are going to be implementing this “Drone Mode” for VR as well in a later patch, but for now we wanted to get you at least this version and play around with it.

This “drone” has a distance limit of 15 meters. It can currently no-clip through walls, but we’re not happy about that, so a later version will add in collision so you can’t go through walls with the drone camera. We just wanted to get the version out for you to play with for now.

Personal Mirror Updates

A bunch of updates to the Personal Mirror have now been merged in. Look at our post from yesterday for more technical detail.

There’s also been improvement to resizing behavior! Go give it a shot.

Mirror Resolution Changer

Some people apparently have these really nice and fancy headsets with ridiculously high resolutions. Because of how mirrors work, mirrors don’t look super great in them. So, we’ve added the ability to adjust the resolution of mirrors to account for these headsets – or if you just like turning everything up to Ultra no matter what. Find this setting in your Quick Menu.

More Favorites

Pretty simple. More favorites. Here’s the numbers.

Without VRC+:

Friends: 3 lists * 150 favorites = 450 favorites (2.3x increase)
Worlds: 4 lists * 100 favorites = 400 favorites (1.56x increase)
Avatars: 1 list * 50 favorites = 50 favorites (2x increase)

With VRC+:

Friends and Worlds unchanged.
Avatars: 6 lists * 50 favorites = 300 favorites (3x increase)

We’ve seen that many people have requested that we instead add more lists instead of increase favorites. We hear you! There are technical reasons (mainly UI) we expanded favorites in this way, we’ll circle back around later and address those issues when we have the new Main Menu in.

Camera Resolution Options, Smart Rotation

Camera Resolution Options lets you choose which resolution you can set your camera to within VRChat. It’ll have a max of 8K resolution on PC, and 4K on Quest.

Find the options in your Camera UI on the far right.

Also, if you hold your camera in portrait mode, the image will be saved in portrait orientation instead of landscape.

Slider Snapping and QM Audio Percentage Sliders

We’ve heard a lot that the sliders are kind of hard to get to the precise value you like. So, we’ve added a QM option to turn on “slider snapping”.

With this on, sliders throughout the VRChat UI will snap to small increments (usually 5%) so its easier to set those values.

We’ve also added numerical values to the Quick Menu audio sliders.

Hide Avatar Globally

This feature allows you to click on someone wearing an avatar, then click a “Hide Avatar Globally” button to hide that avatar on everyone that’s wearing it. The only way this is overridden is if you’ve clicked “Show Avatar” on someone.

We’ve gotten feedback that this feature is less useful due to Show Avatar overriding it. We’re going to look at this feature again to see if we can find a way to address these concerns without overloading our already-overloaded UI or causing a confusing user flow.

Keyboard Paste

When we put in Keyboard Copy and Paste buttons we also made it so the keyboard would pop up for certain text input fields, but not all types!

Creators want to be able to control this, so in an upcoming update to the SDK we’ll include that as an option for world input fields. Probably when p3 goes to Live, alongside the mirror update.

Earmuffs for Avatar Audio

We’ve added the ability to optionally affect avatar audio sources with the Earmuffs feature.

Calibration Confirmation Dialog

Sometimes, users with full-body tracking will accidentally click on “calibrate” in their Quick Menu. This forces them to stand up, and (of course) re-calibrate.

This is annoying – so we fixed it! Now, under Settings you’ll find an option that allows you turn on a confirmation message that will appear before you enter calibration mode.

Quick Menu Informational Headers

You know those headers that appear when you turn on Earmuff mode or Streamer mode? We adjusted their appearance so they’re a bit less obnoxious.

We got some feedback yesterday regarding the new banners not being high-contrast enough, and we’re looking into how we can account for that in a future version.

Bug Fixes

Here’s some things we fixed:

  • The action menu won’t open until you open the QM first after a world change.
  • We use the wrong value for nearclip when a reference camera isn’t defined.
  • You’re only able to grab the MM with the most recent hand that has pulled the trigger.

Conclusion

That’s it for today. Most of the time spent today was on getting the Live Beta built, tested, and out to y’all. Give it a try over the weekend!

Thank you, and we’ll see you Tuesday the 16th for our next post.

21 Likes

Thank you Devs, for the excellent work on bringing these features to the masses. I hope you all enjoy a well deserved weekend.

Yesterday, Tupper indicated in the comments that the UI team are considering adding “World instance history” when the UI update comes out. :heart:

It would be amazing if this feature was implemented when the new UI comes out. The ability to public instance hop, or recover to the exact same instance from a crash, would be wonderful. This should minimize a crashers impact from a day-ruining-event, to an annoying inconvenience. Heck, the malicious might even give up on crashing folks, given that the victims could come back with safety settings on, and report/block them so much easier!!

If you feel this should be a feature, please upvote or add your comments to the Canny, linked below, to make your opinion heard. The more the community wants this, the more likely we are to get some version of it down the road. Devs, I’m sorry I’m constantly bringing this up, I just feel strongly that it will positively impact the end user experience. :slightly_smiling_face:

:heart: Thank you all for your time!! Thank you Tupper for being so kind and level headed with all of these feature requests. I hope you all have a great weekend!!! :heart:

2 Likes

Any chance of adding a function that allow us to create buttons on both quick and radial menu for “Custom Bindings”?
Really useful to quick mute Discord, manage streams/OBS, skip/pause music, etc…

Also, we can specify a color to customize menus?
I really like the idea of making my menus pink/purple

1 Like

It should be fairly simple to support UTF-8, you can read the RFC here.

Also, I believe it is unfair to mute people to make the chatbox default to friends only, and think it should be tied to whether you have that person’s voice muted.

Thanks for the update! Loving a lot of the changes available in the beta so far.

Would the devs be able to elaborate on why there is such a technical limitation on this? I’m more so just curious as a developer myself. I understand there is a new UI coming out soon (which I hope fixes these limitations?), but it just seems insane that there is a limitation and that there are multiple sections as a result. A mod had already introduced pagination for one of their sections and it was integrated to work basically as if VRC added it themselves, and it worked well. Can VRC not do the same thing where the sections are simply compiled into pages that can paginate?

When do you think portal placement will release? I miss using that feature while using mods

1 Like

Thank you very much for giving this feature the chance of another look over for another solution~

Will hide avatar by distance lower VRAM consumption? That seems to be an issue on cards with lower amounts

Cut out mirrors are bugged.


Weird.

Wait so for the avatar favorites increasing is it gonna be available on the live beta only or will it be available to everyone because I’m an oculus quest 2 user and I tend to collect a lot of avatars. This is the update I’ve been waiting for I’m so excited :blush:

live beta for now, then offically available for everyone!

good quality of life improvements. thanks for the updates

2 Likes

Thank you, devs, for adding the hiding Avatar Globally because I’ve had way too many people lag me out or crash my games, and I end up hiding/blocking them just to see others have cloned that same avatar it’s a painful loop. I appreciate you for looking into things that affect me as a VrChat consumer.

Really pleased with the text chatbox update! Thank you, this is going to make interacting with mute users, especially desktop mutes an easy task.

For the camera, is there any chance of 360° panoramic shots being re-implemented?

Loving the updates so far. Gotta check out the drone camera prototype.
Looking forward to avatar haptics!

Sometimes it is hard for me to talk in VrChat however with this new update and seeing that a Text Chatbox is being implemented, it really does give me satisfaction and happiness. I really like the idea of having boundaries of visibility to only friends or everyone, I think its brilliant! Thank you devs for recognizing a lot of our requests!

Is there a reason that the reposition button went away with the new beta update? I didn’t see it noted in the changelog.

The new grab behavior seems a bit less nice to work with: you have to toggle grab, and then get close enough to grab it and reposition, then turn it back off. Whereas before, it was just a single easy button.

Are the live betas available through the oculus store, or just via steam?

I tried playing via SteamVR the other day, and it was a bit laggy. Maybe I’ll just have to wait.

Should be if avatar is properly disabled, the rest is controlled Unity, DirectX and GPU drivers not VRChat