Developer Update - 1 February 2024

Welcome to the Developer Update for 1 February 2024!

Today’s Dev Update thumbnail features Aircraft Carrier Jets˸ F-14 by Zweikaku! Engage in dogfights or just soar through the skies in F-14 jets with fully operational aircraft carrier systems!

If you’d like to catch up, you can read our previous Developer Update focused on the Creator Economy from January 18.

Important Info / Announcements

Next Video Update: February 22

We’ll be releasing another video update on February 22. In this update, we’ll be talking once again about the Creator Economy. We weren’t able to talk about our plans as much as we wanted in the last one, so we’re hoping things will be different next time!

Additionally, we’re hoping that we’ll be able to share some more information about some things we’ll be working on this year outside of the Creator Economy. We’re still about a month away though, so no details just yet!

Ongoing Development

Small Update on Custom Head Chopping

Back in our December 7 Developer Update, we talked a bit about a new component for avatar creators to control which parts of their avatar get hidden from the perspective of the wearer. This feature is still on the way!

We’ve been making a few additional tweaks to how this works, but it still allows you choose which bones of your avatar you want to hide in first person. Since the previous update, we’ve made changes such that you’ll be able to vary whether a given bone is affected based on whether the wearer is in VR or not, and you can now also vary how much the bone is scaled away by.

Group Locations now Visible on Web

You can now see your joined groups’ locations on the web at VRChat.com/home.

Don’t worry, your friends still come first, but in quieter hours you might just find somewhere fun to hang out!

Notifications Updated on Web

Notifications shown on the web now more closely match those in VRChat itself. They now show when they were received and have received some accessibility improvements.

Close a non-Public Instance!

Ever run an event and afterwards the people in the instance just wouldn’t get the hint and leave?
Did a party with some friends get too rowdy and you wanted to just call it done and not worry?
Had a group instance that kept on going long after the mods went to bed?

Well we have the solution for you! Instance Closing!

Yes! That’s right! You will soon be able to close an instance! No more pesky people keeping that instance alive well beyond the event date. If you’re the owner of the instance, or have the right group permission (p.s. it’s a new permission) you can close an instance!

This works on any instance type EXCEPT publics. Players can’t close public instances, but if we need to, our Trust and Safety team can.

For now, instance closing is just a soft close, meaning no one new can join, or rejoin.

Eventually we will support a hard close which will (with a little warning) kick everyone out, and in the future we may even add support for scheduling a close! For now though imagine it as the waiter politely telling you the kitchen is closed, and giving you the side eye as everyone else slowly leaves the restaurant.

Group Role Changes for Everyone!

As anyone who has managed groups in VRChat has noticed, we automatically assign the Member role to anyone who joins your group. What you may not have noticed is that if you delete that role, any new members have no roles or permissions by default. That’s not great. Roles and permission management is already hard, and this weird quirk doesn’t help.

So! We’re feeding two birds with one scone by fixing this!

Firstly, we are introducing the Everyone Role. This is a role that can’t be assigned, can’t be reordered, can’t even be renamed, and any permissions which are given to it immediately apply to everyone in your group.

Secondly, we are adding the ability to flag roles as is assigned on join. This means we are adding the ability to control which roles are automatically added when someone joins your group. This works exactly how the Member role does, and if you prefer this way of handling your default permissions, we’ve got you covered!

We’ll be phasing out the Member role for most newly created groups, as we think the Everyone role is a lot easier to understand and manage. There will still be a role template option that does include a Member role, but it won’t be the default anymore.

Quality of Life Fixes - all available in Open Beta right now!

We’ll be adding in some QoL changes. These all are currently live on the Open Beta! These include:

  • You can now click menu headers to quickly scroll the pages back up!
    • This works for quick menu pages, main menu pages and even the wings!
    • There is a new setting for this option to toggle it on or off just in case it’s not for you. (Pending localization!)
    • Works great for the Quick Menu “Here” page in large instances :wink:
  • The keyboard text field now has a “Clear” button that appears whenever there’s text in the box.
  • There’s a new button on the Main Menu User Details page to quickly view other player’s avatar details!
    • This gives you an easier way to access our bigger avatar details window. Great for previewing another user’s avatar or checking out their imposter!

  • UI Elements now work even if they slide underneath your cursor - meaning no more “why does the Yes button not work?” after hitting “Go Home”!

Camera Changes

  • Camera pictures now handle transparency much better in worlds with post processing - no more weird semi-transparent outlines, or half-disappearing avatars when disabling the environment layer!
    • Additionally, depth-of-field is now always perfectly consistent between the camera preview and the final picture, a bug that has plagued virtual photographers for a while:


Avatar Contact Changes

  • Avatar contact receivers and senders that overlap by default will now intialize correctly!
    • As a part of this, collisions will now live-update correctly when changing someone’s Avatar Dynamics permissions.
    • Don’t worry, we made sure that advanced tricks like “Contact Tracking” still work.

Contacts that are already interacting with each other can break on avatar load:

Contact Behavior on Live (Broken):

Contact Behavior Fixed (Upcoming):

Want to check out the Open Beta for yourself? Check out our full patch notes and instructions on our Discord.

Conclusion

That’s it for this Dev Update!

Our next text Dev Update is scheduled for February 15, 2024. As a reminder, we’ll have a Video Update on the Creator Economy on February 22, 2024. See you then!

9 Likes

It’s awesome that we can finally see instance player count on web, but it’s only there for these group instances. Not for non-group instances with just friends in them. As seen on the screenshot

2 Likes

That’s good feedback – instance occupant count isn’t visible for non-Group instance types. I’ll pass that upward!

4 Likes

Very excited for this feature!

Cool! I like the idea. Lots of group instances can sometimes linger for even up to a day currently.

That’s exciting. I was running into this issue all the time.

Though I will ask: What’s with the film grain that’s applied when DOF is turned on? It makes dark scenes horrendously noisy and it’s it really difficult for video to encode, requiring ridiculous bitrates. Can we get an option to disable this film gain?


I’m also going to take this chance to promote some feedback requests that I think are really important, since we are generally talking about QoL and UX:

These should all drastically improve the user experience, especially for users without top end hardware.

4 Likes

I don’t remember seeing that issue personally, but it might be the blue noise applied during the blurring process. Not entirely avoidable with how our DoF shader works, but perhaps if you open (or find) a canny with some example pictures of this - and a world to reproduce it in - we can see if it can be improved in the future.

1 Like

Loving the camera fixes, this will be huge.

However, can we get a flying camera mode for a portrait camera?

This will help the TikTok bunch a ton, I’m sure! Only having the camera be landscape in fly mode is super annoying at times.

2 Likes

Not sure if this is planned or not but it might be nice to allow the world creator (and maybe instance creator too?) to do this as well since they can already do things like joining over max player cap.

1 Like

I would like to see this maybe be allowed in the future for group publics. I’m in a group that uses group publics to help make sure the world is moderated but still public. But sometimes when we update the world the udon in that group public instance breaks due to the world update. It would nice allow the creator (or people with the permission in the group) to just close off a group public so people move into a a fresh new instance that isn’t broken.

1 Like

It’s cool to see you guys giving the camera some focus again. Does this mean we might be seeing the portrait/general rotation type for flying mode or even an animation/dolly system? A lot of creators have requested both of these, it would be amazing to see.

1 Like

This is the case, it only doesn’t work for normal public instances!

1 Like

here you go
cheers

This sounds great, and will absolutely help with group management. Are there any plans to add the ability to change the group owner?

With a feature like Instance Closing and the hint of scheduling, has there been any thought about things like scheduling a map or instance switch? (eg. moving an instance of people to a new instance)?

I understand portals are effectively this functionality, but for running events, tours, things like that it could be interesting to move everyone.

For multiworld events for things like VKet, or just generally world hopping with a group of people, etc, I feel like it could be more convenient / fun to just bring everyone en masse. Could work with the favourited worlds system - eg. set up a “playlist”, go through the maps and explore, etc…

1 Like

I took the post literally, like only “Public” can’t be closed, but group public can.

Ah. I’m glad it will be available for group public. Just misinterpreted it as all publics including group publics.

It’s nice to see group instances on the website! However, I do think it’s a bit of a mess with how it’s currently laid out. I don’t have figma open to do a real mockup, but what about a switcher something like this?

3 Likes

I’ll work on that when I have the time, but just so it’s at least shown here:

AF Grain Examples

It appears Discourse compressed these, so even “view original” is not actually the original PNG

Edit: I replaced them.


First is no AF, second is S-AF.

Screenshots:

You can see it most prominently on my face here:

While I understand the need for grain in order to smooth the DOF effect + artifacts, it would be great if we could toggle it on/off, or be able to adjust it’s strength. It could be done like the Near Clip feature where it resets, probably after they close the camera or restart the game.

I will make a canny for this. Though you should be able to see it super prominently in basically any darker world.

Edit: It appears there is already a Canny for this.

Edit 2: Another, more upvoted canny.

There is some more work to do to get the instance numbers there but yes, it’s on the radar.

Any word on when you’re gonna fix Player Tracking data in Udon being off by a frame? Because that’s been a bug since the Unity 2022 beta and breaks any fancy camera tricks because it can’t keep up with the player’s perspective (eg portals or UI overlays)

2 Likes

I notice this all the time. Especially in dark worlds. Just have to turn the focus off it’s so bad.

1 Like