Skip to main content

2024 年 7 月 26 日开发者更新

Welcome to the Developer Update for 25 July 2024!

Dev Update - 25th July|690x388

Today's thumbnail features 真夏、往時の如し by 夏至邱芜.

Our last Developer Update was back on the 11th! Did you miss it? Go check it out here!

Announcements

Summer Music Jam is Still Open!!

Submissions are still open -- they'll remain open until August 2! You still have time to submit a world or avatar!

Check out the full list of requirements here!

About That "Security Update" Last Week...

Last week, we released a very small patch that only had two lines in the notes:

  • Safety and security improvements.
  • The camera had a bug where the menu buttons zigged when they should've zagged. We've rectified the situation.

So... what was that first one about?

This was a change that we rolled out specifically to combat avatar ripping.

We now validate much more strongly that only a verified VRChat client can download avatar bundles, and only when it is in an instance with somebody wearing that avatar. This allows us to determine when a download is coming from an unauthorized source and block it. This has been highly successful, and many ripping methods now fail entirely.

It required a bit of cryptography magic to make this work seemlessly across our infrastructure, but since version 2024.2.3p2 the system has been active and stable.

Starting on Friday, 19th of July, we blocked all outdated versions of VRChat from entering instances, since old builds would have tripped up the protection and not been able to load any avatars.

No platform has ever been able to entirely eliminate ripping, but we’re happy to see the results of these efforts. The goal of these changes is not to be a silver bullet, but to form a tighter and more cohesive safety net around your content as time goes on. We have shipped measures against ripping in the past, and we have plans already in motion to plug more holes in the future.

Additionally, we continually work on detecting this behavior and acting against people using tools to steal assets. As such, we recently issued a ban wave that affected over 1,900 users who used tools to rip avatars from other users.

You may have seen chatter on social media stating that these bans were issued against people putting certain text in their avatar descriptions, using software to "protect" their avatars, favoriting certain avatars, or other assumptions.

None of this is correct!

While we won't share the exact detection method we used, our security team spent a large amount of time validating that it was both accurate and precise. We are very confident that all bans issued are legitimate and address an account who has broken our Terms of Service.

If you have been affected by one of these bans, you may appeal your ban by contacting our moderation team.

Hey! Let's Talk About the Last Dev Update!

We received a few comments in the last Dev Update expressing disappointment that we didn't talk about the progress of various features.

While we'll be mentioning one or two things in today's update that were asked about in the comments, it seemed like a good idea to spotlight some information about when you can expect updates on the things we're not talk about today.

First: the SDK Roadmap!

Last May, we released a roadmap for our SDK. You can find it here.

As noted by Fax in a comment, we will be updating this roadmap in August.

That means that, next month, we'll have an update on the status of projects like Persistence, Udon 2, Character Controllers, and more.

But hey -- what about stuff that wasn't listed in the roadmap? What about other features?

We've been paying attention to some of the things folks have asking about and will be trying to loop those projects in to the next roadmap update. While that doesn't mean we'll be able to get to everything, we'll try to account for the major things people are asking about!

We hope that clears things up!

Heads Up Creator Docs Contributors!

We just added a contribution guide to VRChat’s Creation documentation! Please read it if you’d like to contribute to our documentation.

Different writers have different styles, so we wrote this guide to improve the consistency of VRChat’s documentation.

The contribution guide consists of three sections:

We hope you find this guide helpful! Please share your thoughts with us.

Ongoing Development

Unity AI Navigation

94c6c836-363f-446f-8c15-2ddd11648e6b|690x230

Our next release of the VRChat SDK includes support for Unity’s AI Navigation system!

  • Compared to previous versions, Unity 2022 has changed how AI Navigation works in Unity:
  • The system is now a separate package maintained by Unity rather than integrated into the core.
  • Runtime generation! You can now create and update your navigation meshes at runtime in the VRChat client. This was only possible in the Unity Editor before.
  • NavMesh Links and Off-Mesh Links are simpler to use.
  • NavMesh generation is generally improved and more robust.
  • Obstacles can be dynamic now.
  • You can use multiple NavMesh Surfaces within your world.
  • NavMesh Surfaces, Modifiers and Modifier Volumes provide more granular control over the system.

VRChat Constraints Update

Surprise! VRChat Constraints are now in Open Beta! We've talked about them a few times in these very Developer Updates, but here's the short version, taken from the beta patch notes:

  • VRChat Constraints are a replacement for Unity's constraints system that is more performant!
    • Constraints allow folks to do really cool things with avatars -- but until now, they've been risky when it comes to performance cost. This was due to how Unity's default contraints were calculated.
    • Our version is vastly more performant. That means creators can use more without impacting other folks around them.
      • This performance increase means that VRChat Constraints can be used on non-PC avatars!
    • It also means we can calculate their performance cost more accurately, so we'll be adding them in as a tracked performance stat.
      • Seconary note: in addition, we now track a new stat called Constraint Depth. This tracks the deepest chain of constraints on your avatar. This helps us give a more accurate understanding of the performance cost of any constraint systems on your avatar.
    • You can automatically convert your avatar from using Unity contraints to VRChat Constraints using the SDK! We've been testing it behind-the-scenes for some time, and it works great!

For more information on VRChat Constraints, you should check out the Creator Docs, which you can find here.

SteamVR Skeletal Hand Tracking

VRChat's finger tracking has been ported to PCVR!

We took the interaction model from our Quest finger tracking and ported it directly to PCVR, with a new finger UI to show the state of the inputs to help users know what commands will be activated.

VRChat will always let you use the skeletal data provided by SteamVR to animate your avatar, but when a controller (virtual or physical) indicates that it is using full finger tracking, that data will be processed and use gestural inputs.

Gesture Inputs:

  • Left Hand

    • Menu:
      • Look at your left palm and pinch your index fingertip and thumbtip together.
    • Locomotion:
      • Pinch your left middle fingertip and thumbtip together.
    • Mic:
      • Have your palm not facing away from your head, and pinch your left ring fingertip and thumbtip together.
    • Hand Input Toggle:
      • Have your palm not facing away from your head, and pinch your left pinky fingertip and thumbtip together.
  • Right Hand

    • Turning:
      • Pinch your right middle fingertip and thumbtip together.
    • Jump:
      • Have your palm not facing away from your head, and pinch your ring fingertip and thumbtip together.
    • Item Drop / Menu Back / Cancel:
      • Have your palm not facing away from your head, and pinch your right pinky fingertip and thumbtip together.

Any SteamVR controller driver that sends a full-fidelity hand skeleton and has that skeleton set in the VRChat bindings will be able to use this gesture interaction support.

One method of support is using the new beta version of Virtual Desktop (enable “Forward tracking data to PC” and “VRChat hand tracking”) to stream PCVR to a Quest with finger tracking:

Many other driver creators have been working on support. Community members are working on Linux support for hand tracking as well!

Users looking to play VRChat from their Linux PC may be interested in the Linux VR Adventures support & development group! They've developed their own drivers that solve many of the issues SteamVR has on Linux -- as well as improving wired and wireless play, as well as a custom-tailored Proton distribution intended for VRChat video players.

Consult their wiki and access their community Discord/Matrix hub for setup and support assistance. Some helpful links below:

  • https://lvra.gitlab.io/
  • https://lvra.gitlab.io/docs/community/
  • Also, the open source driver for ContactGloves offers support for SteamVR Skeletal tracking. You can find it on github here: https://github.com/hyblocker/freescuba
  • If you're a developer working on your own SteamVR drivers to support a device you can find our driver developer docs here: https://creators.vrchat.com/platforms/pc/steamvr-drivers/

...but that's not all!

SteamVR Input 2.0

With SteamVR Input 2.0 you can fully remap your controllers using the SteamVR bindings UI. Remap any action to any button you want on any controller. The customization possibilities are nearly endless.

This update introduces new gesture methods, including new mappable "Gesture Direct" buttons that let you explicitly map gestures to any button. This is helpful for triggering avatar effects via explicit button presses.

This means you can map almost anything: Earmuffs, Nameplates, Chatbox, and more can be one button press away with an array of new mappable shortcuts.

Oh, and this also means that auto-hold is now a thing! Tired of holding the grip button for equippable items like pens and grappling hooks? The option to auto-hold them is now active if the new "Drop" action is mapped. Now you can press once to pick those equips up and press again to drop them!

Please check out the SteamVR Input 2.0 update available now on the Open Beta of the Steam version of VRChat.

More Web Updates!

The web team has been busy once again! We’ve got some more updates available now at vrchat.com/home:

  • There are now descriptive page titles across more of the site!
  • Search results are now shown with tabs for users and worlds instead of one long list.
  • The gallery sections now have their own URLs; no more jumping back to the icon tab when you upload an emoji.

Thinking With Portals

We have completely overhauled the visuals and some technical aspects in regards to portals!

db16cf3b-72dd-4433-a8ba-006bc8e32acd|690x388

The following things have been changed:

  • Overhauled Visuals: This includes a new custom shader and new particle animations.
  • Improved Thumbnails: World creators spend a lot of time creating thumbnails for their worlds so we wanted to make sure these are more visible in our refresh. Images inside the portal are less squished and are no longer obscured by a ripple effect.
  • Parallax Effect: Thumbnails now have a subtle parallax effect when viewed from different angles.
  • New Animations: Portals are now more likely to properly create holes in the space-time continuum. 100% more dangerous and equally more fun.
  • Updated Text: We’ve modernized the font used for portals to align with the rest of our user interface, replacing the ancient relic previously in use.
  • Text Positioning: The origin point for portal text has been adjusted, making it easier for smaller players to read when standing close to the portal.

Here's a video of them in action!

PortalBehaviour|video

We'll hopefully get these changes out to you soon!

Conclusion

That's it for this Dev Update!

The next text update is scheduled for August 8. Seeeee you then