Post-2019.2.2 Fixes and Patches

VRChat
VRChat
Published in
4 min readMay 21, 2019

As you may already be aware, we released VRChat 2019.2.2 last week. This release was important for many reasons: it introduced support for the Oculus Quest and cross-platform content, it re-introduced Networked Inverse Kinematics (IK), and brought many of the optimizations we’ve been working on to the release branch.

Many of the changes we made to VRChat for this release were wide-reaching. As such, we expected bugs to appear as our community explored the new release. We’ve been keeping track of these reports on our Canny since the release, and would like to let you know what we’re aware of and currently focusing on.

Networked IK

We’re aware of several regressions and behavior changes with the introduction of Networked IK. It is one of the largest and most impactful changes in this release.

First on the list is the reduced fidelity of Networked IK in general. Due to the way our system interpolates movement and updates, Networked IK may act significantly different given identical inputs when compared to the previously-implemented Local IK. These changes may involve a difference in latency (especially when compared to real-space), issues with long-running instances, or other behaviors. These cases are wide-reaching, but we are investigating and working on implementing changes to help make Networked IK feel just as good (or better) than Local IK performed.

Networked IK sends a significant amount of data over the network (hence the name!) and as such, depends on consistent, uninterrupted connection to our networking services. Losing connection or dropping packets is more noticeable than it was with Local IK. Although there is not much we can do for a low-quality connection, we are currently working on methods to improve the durability of Networked IK when used with a high-latency or “noisy” network connection.

Networked IK also involves changes to the way that precise position is calculated and transmitted. This has a negative effect on activities that involve precision, such as writing or drawing with world objects or avatar-mounted systems. We’re very aware of the impact this has on users, and as such are pursuing ways to improve precision for these activities.

Networked IK also introduced some strange behavior when it comes to certain rigging techniques. We’ve seen examples of broken avatar necks, strange full-body tracking behavior, and other issues. These are a wider class of problems, but we are investigating these as well.

Finally, we’re also aware of users employing advanced techniques involving building their own FinalIK rigging. These setups offer a challenge, but we are working on a solution for this issue as well.

World Creation and SDK

We’re also aware of some further issues that popped up as a result to changes to various systems. These issues mostly affect objects that require network communication.

VRC_SyncVideoStream and VRC_SyncVideoPlayer components appear to have some issues with changing videos in certain situations. This is likely due to changes we’ve made to RPCs and network syncing in general. We’re investigating these issues and plan to address them as soon as possible.

There are also some issues with objects that are set to sync physics across clients. This issue affects local-only pickups — as in, pickups that only sync information other than their physics state. We are also investigating this issue and are working on a solution.

Finally, there are some significant issues with AnimationSync. Many advanced creators use animation state machines and AnimationSync to use advanced behavior in their worlds, so this is a focus for us. We’re investigating these issues and are working on solutions.

Voice

We’re aware of some significant issues on Quest (and sometimes on PC) where in very high-population worlds, voice degrades. This results in crackling audio, high-latency, and other issues. We plan on addressing this issue as soon as possible.

We’re also aware of Voice Prioritization changing behavior in 2019.2.2, primarily when dealing with large numbers of users in close proximity and voice ducking too strongly or unexpectedly while speaking through the mic. This will also be addressed as soon as possible, and will affect both Quest and PC.

Going Forward

As you might be able to tell, we’ve got our work cut out for us! These are not all of the bug reports we are investigating, but these are among the highest-impact problems.

It cannot be said strongly enough how much we appreciate detailed, reproducible bug reports on our Canny. As we stated during our latest Twitch Dev Stream, providing high-quality bug reports is exceedingly valuable and helps us fix bugs more quickly with less time required. Although making a bug report does not necessarily mean that a fix is on the way, it does allow us to evaluate impact, determine time-to-fix, and get an actionable issue report into our internal tracking. To those that have reported the issues linked in this post (and other reports on our Canny), thank you!

We will continue working on these issues and are aiming to have fixes implemented in upcoming patches and releases.

--

--