VRCFury / VRCFury

This is the source code for VRCFury. For information, visit vrcfury.com
https://vrcfury.com
298 stars 51 forks source link

Full Controller Merge Creates Empty Controller for Avatars without Gesture Layer #66

Open MineTech13 opened 1 year ago

MineTech13 commented 1 year ago

During the development of my prefab in VRCFury, I encountered an issue with the Gesture Controller. The purpose was to seamlessly merge a custom Gesture Controller into an Avatar's existing Gesture Controller using the Full Controller feature. This Custom Controller modifies the hand positions when a specific prop is toggled on.

However, while testing, I noticed that when adding this prefab to an avatar without a Gesture Controller (as shown in the attached image), the Full Controller Merge process did not work as expected. Instead of merging with the default VRC Gesture Controller, it created an empty Controller that only contained the custom Override. As a result, this disruption caused the hand gestures to fail entirely.

image

To clarify, I deliberately chose not to include the default Gesture Controller in the prefab. This decision was made to prevent any interference with custom Gesture Controllers that other users might have already added to their avatars.

SenkyDragon commented 1 year ago

Yeah, this is true. Thanks for the report.

It's sort of a larger problem, since we really need to let Full Controllers annotate if they want to overwrite the base or not (for instance, gogoloco DOES want to overwrite its base controllers). I must admit, gesture controllers don't get much love from me because I use an index 😅.

SenkyDragon commented 1 year ago

Another quirk: Should we allow not overwriting the FX base layer? What about the menu and params? If a user has defaults on the menu, params, and fx, we currently empty them, but in theory maybe we should respect their existence and merge in the default vrchat fx layer that handles default face emotes and mood?

MineTech13 commented 1 year ago

I mean it would not be wrong to give people the option to define how it's needed I can see that some things might need some specific setups like gogoloco but I think in the default prefabs should be build/setup to only add stuff to an existing setup or to the default values if noting else is specified ^^

Also yeah same I am to an index user only got this issue cuz i made a avatar for a friend where I put my prefab as a beta test on and he mentioned this issue to me xD on index it's actually working cuz gestures are handled a bit differently. Also sorry for the long delay some things hold me very busy ^^