H3VR
Install with App

Details

Latest version
1.0.0
Last Updated
First Uploaded
Downloads
14
Likes
0
Size
64KB
Dependants

Categories

Toggle My Beer

Keep holding an object without squeezing your controller to death. In the Oculus style grip mode - the one where the grip button grabs an object and you have to keep it held down - the grip button becomes a toggle instead: press it once and the object stays in your hand with the button released, press it again to let go.

Detailed Features (TLDR Above)

Show
  • Toggle grab in the Oculus grip mode - grab like you always do (squeeze the grip button), then let the button go: the object stays in your hand. Squeeze it again to drop it. It is still the game's own grab and release code underneath, so picking things up, holstering into a quickbelt slot, firing and the grab/release sounds all should behave like vanilla.
  • The grab laser works normally - aim the laser at something far away and squeeze the grip: the object comes to your hand and stays there, and squeezing again drops it. (The laser hands the object over on the frame the button goes down, so that same press cannot also be the one that drops it.)
  • The rest of the game keeps seeing your hand the way vanilla does: while an object sits in your hand the hand counts as gripping, so squeeze driven vanilla features (handing a magazine over, magazine palming) still trigger, and the press you spent letting go of something does not count as a squeeze any more, so nothing gets handed back into that empty hand while you keep the button down.
  • Choose whether the game's own per object setting is respected (RespectControlType in the config):
    • true (default) - only objects the game itself marks as toggle grabbable (ControlType = GrabToggle) toggle; objects marked GrabHold still need the grip button held down, exactly like vanilla. If nothing seems to change on the thing you are testing, the game probably marks it GrabHold - set this to false.
    • false - every object toggles, whatever the game set its FVRInteractiveObject.ControlType to.
  • Vive / WMR / Index grip modes are left exactly as they are: Vive and WMR already have the game's own ControlType driven hold/toggle logic, and Index grabs by curling your fingers, so none of them are touched.
  • The game's "grip button to hold" override is taken into account (Control options): if the Oculus grip mode was forced on Vive/WMR hardware, that counts as the Oculus grip mode, and the button that grabs there (the trigger) is also the one that drops the object again.
  • Config changes apply live (no scene reload needed).

How to use

  1. Grab something the way you always do - squeeze the grip button.
  2. Let the grip button go. The object stays in your hand.
  3. Squeeze the grip button again to drop it (or to holster it into a quickbelt slot your hand is over).

Same hand, same button, no extra bindings. The grab laser (the one you get while holding the touchpad / B-Y button) counts as grabbing too: aim it at a distant object, squeeze the grip, and the object comes to your hand - squeeze again to drop it.

Known Issues and Limitations

  • State-of-the-art Shitcode There might be more bugs I havn't found
  • Other mods that patches FVRViveHand.Update as well or did other changes to grabbing may or may not work with this one, depending on what it does there.

I Asked Myself These Questions

Vibecoding? Ew...

  • DO NOT AI CODE, IT STRONGER THAN METH, I CAN'T EVEN WRITE A SINGLE LINE OF CODE BY MYSELF ANYMORE

It's really useless and glitchy

  • Sorry, I'm not good at modding. If you have any suggestions, feel free tell me. (Discord: 妮可_Niko666, I'm in UTC+8 timezone so probably won't respond to messages in time)

I want more

  • I'll do my best.🫡

Credits

Generative AI Disclosure

Most parts of the mod was created using Deepseek (The Blue Fat Whale) because I'm a dumbass and too lazy to debug, but I did the manual code review and testing to ensure the mod works as intended.

ko-fi

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.