I'd like to ask you about the expansion system you made for this avatar. Would you be willing to share some details over how you got it to look so smooth?
I feel as though I'm over reaching, so I'm 100% okay with a no.
I don't mind explaining a bit!
The smooth expansion uses something called Animated Animator Parameters (AAPs) and Exponential Smoothing using blend trees.
Documentation on AAPs can be found here: https://vrc.school/docs/Other/AAPs
and the exponential smoothing technique is documented here: https://vrc.school/docs/Other/Advanced-BlendTrees/
The basic overview is that, we have two values- let's call them TargetSize and ActualSize.
TargetSize is immediately set by the system, which would normally cause a big visual jump if it were driving the blendshape directly.
So instead, the blendshape is controlled by ActualSize, which is an AAP, which means the value of ActualSize can be set by a blend tree.
Let's say ActualSize starts at 0, and TargetSize changes from 0 to 1.
Every frame, ActualSize will be calculated as a blend of ActualSize and TargetSize- so every frame, it will get, say, 5% closer to target size (we control this percent amount with a smoothing parameter.)
This means that we can freely set TargetSize to whatever we want, say, with the radial menu, or with an avatar parameter driver (documentation for those is here: https://creators.vrchat.com/avatars/state-behaviors/ ) and ActualSize will smoothly approach whatever value we have set.
Hopefully that helps- I definitely recommend checking out the documentation links for more thorough explanations and for implementation examples.