Advanced Contact Parameters silently fail in emulators (E.G Gesture Manager) unless the avatar root Animator has a controller
antrobot
Summary
In SDK 3.10.6, Advanced Contact Parameters (e.g. Sender Local Position) don't update in Gesture Manager or Av3 Emulator play mode unless the avatar root's Animator has a Controller assigned. Nothing is logged when this fails. Build & Test in the client works correctly, so this only affects the editor workflow.
Reproduction
- Avatar with a contact receiver using Advanced Parameters (e.g. Sender Local Position X/Y/Z), with those parameters in the FX controller.
- Leave the avatar root Animator's Controller field empty.
- Enter play mode in Gesture Manager. The parameters stay at 0.
- Assign a controller containing those parameter names to the Animator's Controller field. They now update. (A dummy controller with just the parameter names is enough.)
Av3 Emulator doesn't update them in either case.
What I found in the SDK source
- AvatarDynamicsSetup.cscreates anAnimParameterAccessAvatarSDKper enabled advanced parameter, bound to the avatar root Animator.
- Its constructor looks the name up in animator.parameters. With no controller, nothing is found and the accessor marks itself invalid. Every later write is then a silent no-op.
- Emulators that supply their own accessor for the base contact parameter have no documented way to do the same for the advanced ones, so those fall back to the SDK's root-Animator version.
Requests
- Log a console warning when an advanced-parameter accessor is created invalid (Animator missing or no controller, or the parameter not found).
- Don't depend on the root Animator's controller for this. Resolve the parameters from the descriptor's FX controller instead, or create the accessors lazily.
- Document how emulator authors should supply accessors for the advanced parameters, since the feature shipped with both major emulators not yet handling it.
SDK 3.10.6, Unity 2022.3.22f1, Gesture Manager 3.9.9. Related report on the Gesture Manager tracker: https://github.com/BlackStartx/VRC-Gesture-Manager/issues/105
Log In