Currently BaseParam grabs the FirstOrDefault param that matches: https://github.com/benaclejames/VRCFaceTracking/blob/master/VRCFaceTracking.Core/OSC/DataTypes/BaseParameter.cs#L97
In our docs we specify that an avatar creator can use any prefix; the most popular is likely FT, used in Jerry's templates, but others that creators have chosen are EchoFT, KIT, or just the raw parameter names (legacy), e.g., JawOpen.
This means that for someone creating a Unity project that leverages face-tracking to drive behavior based on the received param names, they have to either choose the estimated most popular option, the one they personally use on their avatars, or create Unity logic to handle the options they're aware of (which is likely to be a non-exhaustive list and can complicate animator logic).
Thus it'd be nice if we:
- Modify the code to create a mapping not just of the first param that matches, but multiple
- And/or always send
FT prefixed params as well as the first one that's found that matches
This would remove the burden from asset creators and maintain backwards compatibility.
Currently BaseParam grabs the
FirstOrDefaultparam that matches: https://github.com/benaclejames/VRCFaceTracking/blob/master/VRCFaceTracking.Core/OSC/DataTypes/BaseParameter.cs#L97In our docs we specify that an avatar creator can use any prefix; the most popular is likely
FT, used in Jerry's templates, but others that creators have chosen areEchoFT,KIT, or just the raw parameter names (legacy), e.g.,JawOpen.This means that for someone creating a Unity project that leverages face-tracking to drive behavior based on the received param names, they have to either choose the estimated most popular option, the one they personally use on their avatars, or create Unity logic to handle the options they're aware of (which is likely to be a non-exhaustive list and can complicate animator logic).
Thus it'd be nice if we:
FTprefixed params as well as the first one that's found that matchesThis would remove the burden from asset creators and maintain backwards compatibility.