Developer Update - 19 August 2022

Hello! Welcome to the latest VRChat developer update for 19 August, 2022. Check out our previous update here.

Release Plans

First off, let’s talk about current plans for release of new updates and new betas!

2022.2.2p3 Live Beta

Over the past week we’ve been aiming to get a Live Beta out we could release to Live first thing next week. Unfortunately, we ran into some issues with the Live Beta candidate, so this one isnt’ a release candidate. We’ll look into updating the p3 branch early next week, and follow that up with a release as soon as we can after that.

Here’s the changes for build 1225 for the VRChat Live Beta. If you’re planning on using the beta, please make sure you read these– there’s an important note in there that probably won’t affect you, but we wanted to tell you about anyways.

VRChat 2022.2.2p3 - Build 1225

:warning: IMPORTANT, PLEASE READ: :warning: If you go to a SDK2 world with static portals that enable/disable the portal marker, you will encounter extreme lag that will eventually crash VRChat! If you must go to one of these worlds, revert back to Live!

However, these worlds are pretty dang rare nowadays, aside from the VRChat Hub. (… wait, the Hub is SDK2?!) We were only able to find a handful of worlds this affects (the VRChat Hub, Murder 2, and “Whale house old”, apparently) but more probably exist. Don’t go to those worlds if you’re using this beta!! You have been warned!

Client

Changes since build 1222

  • Lots of fixes to Chatboxes
    • OSC input character limit enforced properly
    • Enabled slider snapping for Chatbox settings (if you have snapping enabled)
    • Fixed a few bugs related to the typing indicator showing up when it shouldn’t
    • The typing indicator now auto-hides after 5 seconds of inactive input
    • The typing indicator is no longer shown at all when the player’s chatbox is set to be hidden via muting
    • Typing indicator now uses the same opacity and size settings as the chatbox
    • Changed the chatbox show/hide distance check to match the player voice distance
    • Fixed an issue where backspacing over an emoji would cause a crash
  • Hide Avatar by Distance now hides avatars by hiding their renderers, leaving their animators running
    • This incurs a performance cost, but no longer breaks Animators that employ Write Defaults or other non-deterministic design or behaviors
    • Check out the Dev Updates for more info on this one
  • The noise gate can now be fully disabled by bringing the setting to 0%
    • For normal usage we don’t recommend doing this, but if you’re playing an instrument over your mic this should prevent the noise gate from cutting you off in odd ways
  • Adjusted mic volume indicator visual
  • Adjusted noise gate handling to ensure user voice isn’t cut off unnecessarily
  • Replaced emoji set for Noto Sans font with a more complete, consistent set
    • This also means we support more emojis
  • Fixed: avatar hide by distance shows blocked users
  • Fixed: avatar hider resets PhysBone poses
  • Fixed: Region indicator on portals overdraws on things
  • Fixed: tutorial world portals were broken

Known Issue

  • Chatbox show/hide distance check does not take into account Udon-driven changes to player volume
  • Quest client cannot switch worlds (Release Blocker)
  • Static portals in SDK2 worlds cause extreme lag (Release Blocker)

Udon

Changes since build 1222

2022.3.1 Main Menu Beta

The initial plan was to get the new Main Menu beta out next week. We’re still aiming for that, but considering how p3 has slipped, the Main Menu might get pushed a bit. Right now the main challenge is merging in all the changes and features from the 2022.2.2 patches, and ensuring nothing got clobbered.

We’ll keep you up to date if plans change.

Feature Work

Chatbox Safety Design

We got a LOT of feedback regarding the Chatbox, primarily around its default display settings. So, we spent time this week iterating on the design. Let’s start off with something very important:

:warning: This design is not final. We may change this completely and/or change the default settings before we release it, but we wanted you to get some insight into the process and what we’re thinking.

Right now (including the Live Beta), the Chatbox shows only to your friends by default. This can make it very hard for people to communicate with others if they aren’t friends, since you have to learn to change the Chatbox to “Everyone”. This is further complicated by the fact that you don’t have discrete per-user settings for the Chatbox.

So, we returned back to the original design for the Chatbox permissions – using the Safety system.

This new design adds the Chatbox as its own discrete Safety category, right next to Voice. If we bring it in line with Voice settings, all Safety modes will have the Chatbox displayed and on by default for all other users. We’re not quite sure setting those defaults are the right decision and direction we want to go, but we’re discussing this internally and weighing our options. We’re definitely considering all the feedback you’ve given us regarding this.

Just like with Voice, using Custom Safety you can turn on the Chatbox for certain Trust Ranks. For example, you could turn off Chatbox for all users except your friends and Trusted Users. Again, by default, Chatbox will be on for everyone just like Voice.

Additionally, you will be able to override individual users similar to the “Show Avatar” three-way toggle. That way, you can say “I don’t care what my Safety is set to, I just want to turn this person’s Chatbox on.” We’re also looking into adding a per-user opacity slider for Chatboxes, so you can have everyone’s Chatboxes set to an out-of-the-way level, then boost your friend’s Chatbox opacity so you don’t miss it. This is analogous to the individual user volume sliders.

Since Chatboxes are visual and not auditory, there is an additional layer available: in the settings menu for Chatboxes, you can also choose to simply force the system On or Off for everyone. By default, though, this setting will be set to “Safety”, where the settings you have set in the Safety menu take priority. When your “global” settings have Chatboxes on or off (overriding Safety), the Safety menu will show an indicator showing that you’ve overridden the system to force it on or off. You’ll also have the option to turn off the typing indicators when the Chatbox is hidden by Safety settings.

Finally, in the Audio tab of the Quick Menu, we’re adding a shortcut button that takes you to the Chatbox settings.

If you’re curious, here’s a screenshot of the design document where all of these changes got hashed out:

No matter how this design or the defaults end up, we have to wait on the Main Menu’s release. That’s because this change relies on the new Safety menu.

Chatbox Emoji

As an aside, we’ve also fixed the weird-looking emoji. We had an incomplete “example” emoji set present. By including the actual set of Noto Sans emoji, we’ve fixed them so they’ll appear properly in the Chatbox (and other places, shoutout to the extremely rare emoji-in-name accounts out there):

Personal Mirror Iteration

Even more Personal Mirror work got done!

The face mirror is now clamped inside the HUD so it can’t fall off the canvas. This also plays nice with scaling.

We also added a head-tracked mode for the Personal mirror. It took some work, but it works great with both Pickup and Immersive movement modes.

We also added a new Face Mirror scaling icon, added haptic feedback on mirror hover and grabbing/dropping, and fixed some bugs with mirror grabbing.

We’re also aware that some users’ shaders have issues in the personal mirror. We’re looking into the best way to handle these cases!

These changes are either in the p3 beta or will be included in an upcoming release.

Avatar Haptics

We’re working on a system that’ll make your controller haptics give feedback when you touch avatars! We talked about this in our last Dev Update.

For clarity, this system works using a high performance way to “render” meshes for detection without using a camera setup. This means that no special bones or avatar setup is needed, as it simply works out of the box.

Here’s how the haptic options look in the Quick Menu right now:

Still getting iterated on, but getting closer to a point where we’re OK throwing it into a Live Beta!

Earmuffs Improvements

We’ve got a few adjustments and improvements to how Earmuffs work on the way.

First off, we’re changing the slider snapping from 0.5 to 0.25, so you can get decently precise even with snapping on.

Next, we’ve added a shortcut similar to the Photo tab where double-clicking the Audio tab will toggle Earmuffs on or off.

We’ve changed the Earmuff visual aid (aid? aide? it’s “aide” in the UI… :thinking:) so that it doesn’t appear in cameras when your UI masking is toggled off:

We added a synced Earmuffs avatar parameter Earmuffs: it’s a bool that’s True when your earmuffs are on, False when earmuffs they’re off. You can use them to add Earmuffs to your avatar!

We also did some tuning on the Avatar audio muffling portion of the feature, as it wasn’t working quite right.

Portal Placement

We’ve had a few people ask about this feature-- don’t worry, it’s on the way! It is currently in iteration, and recently had some design feedback. We don’t have much to show off just yet though. Remember, just because we don’t talk about something in an update doesn’t mean we didn’t work on it!

Additional Emoji

We aren’t quite ready to show them off yet (we only had a first pass on the art this week), but we’re planning on adding additional functional emoji. For example, we want to include emoji you can use to tell someone:

  • You don’t or can’t use the microphone to speak
  • You can’t hear what someone is saying
  • You want them to read or show your Chatbox
  • Your battery is low
  • You’re having connection issues
  • There’s a portal you want them to go through

… among other things! This list isn’t final or complete and is just a selection of what we wanted to fill. We’ve also been working with Helping Hands to get some additional ideas for functional emoji (thanks, y’all!).

We’ll get you previews in an upcoming Dev Update.

Creator Updates

Here’s some additional updates that are more related to creator tools for VRChat, like the SDK, the VRChat Creator Companion, ClientSim, UdonSharp, and more.

ClientSim Updates

A few recent ClientSim issues got fixed!

First off, we’ve fixed PS5 controllers so they work and allow movement around in the editor.

Next, we fixed some further controller issues by addressing controller drift.

Finally, we’ve also fixed some problems with moved Canvas objects in ClientSim.

Udon Graph

We’re working on some pretty substantial upgrades to the Udon Graph that makes it a ton easier to use:

  • Redesigned Sidebar which now lists all your events and groups with clickable shortcuts
  • Tab System for switching between graphs
  • Shortcuts for common nodes like string, int, float, etc.
  • Graph search (for events, nodes and groups)

This has been in progress for some time! We’ll show off some features in an upcoming Dev Update.

Creator Companion

It isn’t released yet, but the Creator Companion has an upcoming update to 0.3.6. This version includes a bunch of changes, fixes, and improvements:

  • Fixes issue where projects with files larger than 2GB could not be backed up
  • Pressing “Show Me” after making a project backup will now open the enclosing folder rather than the specific zip.
  • Uses new package subdomain urls for Official and Curated listings
  • Added many new pages to the documentation: (links to pages, will fill out if we push the new version live and publish all the pages)
  • Hides packages with no valid versions listed
  • Fixes issue where Migration would use prerelease packages if they were the newest version

This VCC update is currently in QA. Once its out, 0.3.6 will be a Release Candidate!

Conclusion

That’s it for this week! We’ll see you again next week with two more Dev Updates, and hopefully we can sneak in that Main Menu Beta… cross your fingers! :crossed_fingers:

42 Likes

Given the bits I heard from you guys privately on possible implementations with Avatar Haptics, I do not envy the engineers responsible :woozy_face:, a technical writeup on what y’all ended up doing would be really cool when all’s said and done!

Also, :crossed_fingers:

14 Likes

Thank you for the excellent work on the updates!! I finally got an opportunity to get back into FBT & VR again, and wooooo! These updates have been absolutely amazing!! Great work so far!! :heart:

As promised, I won’t mention the feature I’d love! Thank you for considering adding it :slight_smile:

Have a great weekend!! I look forward to the next dev update on Tuesday :slight_smile:

10 Likes

Very nice!

1 Like

Safety option to disable dynamic/phys bones? :face_with_peeking_eye:

7 Likes

Im still adamant that you guys reach out to the modding community for more recommendations and tips on how some QoL things where added. Its highly recommended, not even just from me.

5 Likes

Great stuff so far, I’m very happy and excited with everything you have shown off so far! Though I do have one request.

I know you’ve probably seen this feedback a ton already but I’d love to see the personal mirror be moved to the front of the action menu instead of hidden in the settings menu. It would just make it a bit more accessible for users.

Other than that, everything is looking great, very excited to hopefully try out the new menu next week!

2 Likes

Nice updates this week! ^ ^

Also yeah, big fingers crossed we can get that fancy new Main Menu in next week! :weary: :sweat_drops:

1 Like

Desktop Third Person is when???

4 Likes

Everything seems promising! I like the Mirror change and how it follows you!

But- World Instance History (and one that is iffy not sure if its something that will be added but I still wanna say it because I loved it.) And Avatar Search when? But mostly focused on Instance History >w<

2 Likes

That would be really handy to handle big party instances.

do you mean dynamic bone interactions with others or just in general?
you can already limit the dynamic bones in the safety / performance options menu
but the avatars start to act wonky so its not preferred in my book

All I really want is an avatar search. It would probably be the most convenient feature in this game.

9 Likes

Since we can now add custom Earmuff indicators to our Avatar will an Earmuff Indicator also be added to Nameplates? I think it’s important to know if someone is using them, so that you know that they might not hear you when you are talking to them.

3 Likes

Metadata on pictures please, i want to be able read world id/name and people on pictules from .png/.jpg metadata. That was amazing feature to then be able use other apps (or even windows default explorer in case of .jpg) to find pictures of given person or in given world.

And 12, 16k pictures aaa, no tiling needed, just unlock config (like why is it even limited in config file?) and add option to change anti aliasing too. or reduce it automatically for high res.

4 Likes

Snap angles for the personal mirror, please. I wanna be able to put down my mirror at a perfect 90 degree angle instead of trying to get it perfect with my shaky hands. This was implemented with horizon adjust by default, would very much like it here.

8 Likes

isnt there any talk on offering a more privacy focused anti cheat? I certainly don’t trust eac to scan through all my files and send the data to god knows who. Could you not develop your own form of anti cheat? I know bloons td6 has a light anti cheat that detects dll files in the games install folder that shouldn’t be there, and doesn’t require root access to do.

3 Likes

Do appreciate the head tracking mode, though. And interested to see where the chatbox goes.

6 Likes

Really would love to see multi-message on the chatbot, like, a maximum of 3 messages, so that you can send multiple messages and they don’t delete each other, you don’t always know if the reader finished reading your message. Additionally, it’d be nice if they were visible in mirrors and made a sound effect when you send a message, so that people know you’re talking to them, this sound effect would just play as a small “Blip” similar to discord and whatnot.

All of this has been looking really good. Im glad the Dev team are going full force on this and though we may never get an apology from the VRC team, I feel the nose to the grind stone approach by the Dev team speaks louder then words.

I have been relaying this info to my friends who moved to another platform in hopes that this will be enough to make them return. Though I fully understand the anger I feel the VRC team are getting back on the right path again. Keep keeping us informed and remember communication and how you communicate is key.

Give my best regards to the Dev team.