[VRC Constraints] Editor will freeze temporarily on Undo and other actions when editing an avatar with complex constraints
available in future release
Vasuvo
When working on my avatar with complex constraints, some actions, such as Undo, will cause the editor to hang for >30s before resolving the action. This makes it very difficult to work with the editor.
Not every Undo will cause the editor to freeze, only those that modify the avatar in some way- undoing other things in the scene (such as moving a random cube) will not cause lag.
I have also rarely experienced some other common actions freezing the editor while working in the beta, but cannot currently recall which they were or how to replicate them.
If it helps, the avatar I am working on is an avatar with a 2nd armature of ~20 bones, each of which is constrained to mirror the main armature; the 2nd armature is then placed on a modified "amogus follower" to follow behind the main armature. I am using primarily rotation constraints, with only 2-3 position, parent, and lookAt constraints respectively.
Log In
This post was marked as
available in future release
Dexvoid
marked this post as
tracked
Voxian
Related to this, my models take roughly THIRTY FIVE MINUTES to enter into play mode using just the GestureManager and NO VRCFury or other addons.
The only waiting status I get is "Completing Domain".
It is currently significantly faster for me to just upload on every edit.
Entering play mode with the same scene and same SDK prior to converting to VRC Constraints only took a minute or less.
I feel this is a VERY important issue that needs to be addressed. I can make this a separate ticket if you want, but I figured it would be more applicable here.
I'm in a bit of a bind since I can't feasibly test anything else until this is fixed...
Voxian
Strangely I've also had this issue when making edits to things that are not parts of the new constraints. For example, reverting a prefab override will initiate a 2+ minute loading screen on my avatar.
Vasuvo
I think I'm experiencing similar things- editing objects in the scene completely unrelated to my avatar will not freeze things, but editing most things anywhere on the avatar hierarchy (even when it's not part of the hierarchy that includes constraints) will trigger a freeze.
Dexvoid
marked this post as
needs more information
This avatar having a follower, which typically uses cyclic dependencies between constraints, implies this is the same issue as https://feedback.vrchat.com/open-beta/p/1471-vrchat-freeze-on-loading-complex-constraint-pattern
As this looks like an existing avatar, please include the ID of the uploaded avatar with Unity constraints if possible, to help confirm if it's the same issue.
Vasuvo
I've uploaded a version of the avatar with VRC constraints, and a (slightly outdated) version with Unity constraints - both of which are private.
VRC: avtr_deb548cd-de08-4578-8c57-7493a9fd19c1
Unity: avtr_80e114e8-9d7f-4e0f-aab6-339f22f29a6f
Let me know if you need anything else!
Vasuvo
Ran into another reproducible occurence; I have a GameObject that contains most of my constraints, and enabling the GameObject in the inspector triggers a freeze; see picture below.
Additionally, using Revert to reset the position/rotation of a related object in the inspector can also trigger a freeze.
kazin138
I've noticed the same delay when using a packed avatar prefab, rotating bones like you would when testing a rotation constraint, then using the "revert" function to revert any rotation changes.
My test avatar works perfectly fine with Unity constraints, but adding just a single VRC rotation constraint causes this issue.
I've tried on several different existing avatars and also a fresh one dragged into a new scene.
I'm running on Linux (Fedora 40), which has otherwise been just fine.
kazin138
I noticed checking the 'Solve in Local Space' button also has the delay.
But, I figured out a janky, roundabout way to avoid
some
of the delays I'm having - turn your collection of constraints into a prefab, and edit it in an empty scene
. With it attached to an avatar the 20 second delay happens constantly, but in the empty scene editing is easy.Doesn't help trying to revert rotations once you have any VRC Rotation Constraints in your active scene, actually attached to an avatar.
100% reproducible on any project I've tried so far.