[BUG] SDK breaks when using an overrideController on gesture layer
closed
zaCade
Using an override controller instead of directly using an animator controller on the gesture layer breaks the sdk builder window, preventing you from uploading due to the layer mask check in the code only being made for animator controllers, the moment you use an override controller it breaks code wise and spams errors.
Reproduce:
Simply use an override controller on the gesture layer instead of an animator controller.
Would be nice if this could get fixed in the sdk because using override controllers would allow people the preconfigure animator controllers and allow people to override stuff similiar to the old way in SDK2.
Meaning they dont have to dive in and learn animator controllers.
Note: Using an animator override instead of controller works on every other layer, tested this ingame. I'd guess it works for gesture too, but cant test due to sdk breaking.
Log In
lackofbindings
It's really dumb that they closed this. AnimationOverrideControllers would be super useful for maintaining Android versions of animators just by overriding clips (like material swaps, etc.). I feel like it must be the only reason they blocked this was for fear of people confusing it with SDK2.
As a side note if you want to be able to use AnimationOverrideControllers, there is a workaround if you use the Full Controller merge in VRCFury, it will convert it to a regular Animation Controller at build time to appease VRC's needlessly picky SDK.
Tupper - VRChat Head of Community
closed
Using an override controller as a Playable Layer is not supported. Don't do that!
gatosyocora
Tupper - VRChat Head of Community:
If not supported, you have to use AnimatorController instead of RuntimeAnimatorController.
RuntimeAnimatorController means supported with AnimatorController and AnimatorOverrideController.
zaCade
Tupper - VRChat Head of Community: Thats wierd though because i tested it again just now ingame with an overrideController instead of a animatorController directly, and it all works like i would expect. Just turns out it doesnt actually take the clips from the override as one would expect. But besides that it all works fine. So it would be cool if it actually could get fully supported. Since it seems to work for most of the things already.
knah
Tupper - VRChat Head of Community: it would be a nice feature to support, as it would allow people to reuse the same controller fur multiple avatars, swapping out single animation clips that are avatar-specific, and keeping the general shape of the controller.
Sure, making a copy of the controller and then changing it is an approach, but then if you later find an issue in the controller, you'll have to go through all the copies and fix it, instead of fixing just one base controller.
zaCade
Edit: After commenting out the line that causes the SDK builder panel to break, which is currently line #1940 in my SDK,
if (controller.layers[0].avatarMask == null)
it does allow me to build and test, and after testing override controllers also work on the gesture layer ingame. So this seems to be a pure SDK issue.