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
IMPORTANT, PLEASE READ: 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
VRCShader
functions now accept the string_AudioTexture
in addition to any string with the_Udon
prefix to accomodate for the existing widespread community-created AudioLink system (GitHub - llealloo/vrc-udon-audio-link: Audio reactive prefabs for VRChat)- Fixed an issue where
VRCShader
didn’t allow setting globals more than once
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:
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… ) 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!