Make Grip and Trigger parameters available on Avatar SDK
DX_30
This feature would make it much easier for avatar creators to implement interactions, such as holding various props like swords and other objects. Additionally, having a trigger parameter would provide a better way to handle weapons and pointers from custom menus.
It is possible to extract this information using Gestures, but this method does not work if the user has gestures disabled. It also has several issues with Index controllers and does not function properly with Hand Tracking, making it extremely inconsistent.
There are several other methods to achieve that, but all of them come with their own issues.
For example, in my assets, I use Grip and Trigger detection via Gestures to determine when a user can pick up a camera (in Camera Path) or select an item in a menu (in VRCraft). However, I frequently receive questions from users confused about why they need to have gestures enabled to hold objects, as well as complaints from Index users due to the inconsistency of gestures.
Having a native parameter for grip and trigger with distinction for right and left hand in the Avatar SDK would be a significant improvement for both avatar and asset creators, greatly expanding the possibilities of what can be achieved.
the implementation I imagine would be a bool parameter for GripLeft, GripRight, TriggerLeft and TriggerRight
Log In
你亲爱的酒保K
VRChat is a UGC-driven game, and allowing users to create high-quality and reliable content is a crucial aspect of the platform. Providing independent parameters for hand interactions would greatly enhance avatar functionality by decoupling interactions from gestures and eliminating inconsistencies between different controllers.
Currently, object grabbing typically involves fist + gesture weight, but gesture weight is controlled differently across VR controllers:
- Index Controllers: Gesture weight is tied to the trigger button (index finger, e.g., pulling a trigger).
- Other Controllers: Gesture weight is controlled by the grip button (middle & ring fingers, e.g., grabbing an object).
This inconsistency makes it difficult to design uniform interactions.
Index Controllers can use finger tracking to estimate hand state, but this introduces synchronization delays and reliability issues. Other Controllers require enabling gestures, often leading to conflicts where expressions unintentionally change during interactions. Many users lack the ability to restructure their avatar’s expression system to mitigate these conflicts.
Adding independent parameters for trigger and grip states would allow functional interactions to be designed separately from gestures, ensuring consistency across all controllers.
Suggested new parameters:
Boolean Parameters:
- IsTouchingTriggerLeft
- IsTouchingTriggerRight
- IsTouchingGripLeft
- IsTouchingGripRight
Float Parameters:
- TriggerLeftWeight
- TriggerRightWeight
- GripLeftWeight
- GripRightWeight
This addition would significantly improve the usability and flexibility of avatar interactions