Bug Reports

  • No off-topic posts
  • Don't report more than 1 issue at once
  • For isolated issues or customer support visit help.vrchat.com
Thanks for your bug report!
VRChat Unity Animator Lag
The number of animation layers heavily affects performance due to unnecessary inverse kinematic calculations. Even blank animation layers with zero weight in the FX layer can trigger this behavior. The offender is seen in the profiler as Animators.IKAndTwistBoneJob. It runs as many times as the currently loaded animation controller with the largest number of layers. Although the individual run time is small, they very quickly add up. Slower CPUs seem to be more adversely affected by this. The time taken by these extraneous calculations quickly grows larger than all normal animator activity. This behavior only happens on animators that have a unity avatar/armature. When that is removed, this behavior goes away and the number of layers ceases to be a significant cause of lag. Most FX layers do not have any interaction with the armature, so it is likely that this behavior can be fixed for almost all FX layers. However from debugging the unity editor in visual studio, it appears the this happens in a native unity function named Animator::UpdateAvatars. It is likely that in most if not all cases, these calculations are completely wasted on FX layers and provide no benefit at all while consuming significant amounts of main thread time. Somehow these calculations need to be only run for layers that require them. Additionally providing a way to get parameters in sub animators would allow logic to be moved out of the main animator completely sidestepping this problem. They would not have a unity avatar associated with them, so this problem would not occur. It would also allow completely disabling animators when not in use. Please attempt to find a way to prevent this behavior or consider convincing your Unity contacts to implement a fix. This seems to be one of the largest contributors to animator lag. I have a full write-up with more profiler images and further explanations. https://docs.google.com/document/d/1SpG7O30O0Cb5tQCEgRro8BixO0lRkrlV2o9Cbq-rzJU
1
·
tracked
The FBT-related features wrongly appear if a gamepad is connected
On the three-point tracking environment, the FBT-related buttons like Calibrate FTB on QM appear if you connect a gamepad to your PC. Tested with Build 1345. Repro steps Connect a gamepad to your PC. Start VRChat. SteamVR window will show the gamepad. (See attached 1st image) You will see the Calibrate FTB button on QM > Launch Pad instead of the Sit / Stand mode button. (2nd image) Disconnect the gamepad. The Calibrate FTB button will change to the Sit / Stand button. (3rd image) Workaround Possible workarounds are: (of course) Disconnecting the gamepad. You can do this after starting the VRChat app. Or, set Allow Full-Body Tracking (FBT) off. That on/off button is on QM > Settings > Tracking & IK (4th image). However, this option will not be saved, so you must do it again after restarting VRChat. Or, set Gamepad Support Off on SteamVR settings (5th image). Note that this is a global option of SteamVR and it affects other games. Thanks Thank you for sharing the info https://knb-mayumi.com/vrchat-sit-stand/ https://twitter.com/ruikotosaka/status/1700368829245976731 https://discord.com/channels/189511567539306508/946881839400882196/1150596404180430909 https://discord.com/channels/189511567539306508/946881839400882196/1150604078943060059 Summary for Japanese (日本語要約): ゲームパッドをPCに接続していると、3点トラッキング環境でフルボディトラッキング用の機能が誤って表示されます。 例えばクイックメニューの "Sit / Stand" ボタンの代わりに "Calibrate FTB" ボタンが表示されます。 暫定的な対策はゲームパッドを取り外す(VRChat 起動後でも可能)か、 Allow Full-Body Tracking (FBT) 設定を off にします(このon/offボタンは QM > Settings > Tracking & IK にあります。保存されないので再起動したら再び設定する必要があります)。SteamVR の設定でゲームパッドのサポートをオフにする方法もあります(ただしSteamVR全体の設定なので他のゲームにも影響します)。
5
·
tracked
Load More