VR Expansion Plugin

Hi all,
sorry to post again, ref weapon holsters.

I am having a nightmare getting anywhere with it.
I either get issues with scale changing dramatically, the weapon preventing character movement or a complete failure in the nodes during compilation.

Does anyone have a screenshot of a working setup that I can look through please. Or is anyone able to breakdown the drop and socket functionality.

Thank you and stay safe.


Thank you Mordentral. I did find the issue. Seems that the console command vr.pixeldensity 1 was set up in the template at the start on blueprint Steam_VR_Player_Controller. After taking it off from there, the .ini set up for the vr.pixeldensity works fine.

I have some more questions, if you may.
How could I enable the hands to grab even, if there’s nothing near the hands? Now when I build the template for Oculus Quest, the hands do nothing while using the grip or trigger, when there’s nothing to be gripped near the hands. When I click play in vr on editor, the physical grasping hands work perfectly with the oculus quest hooked up with virtual desktop, but no gestures and animations after building on Quest.

You mean the curl setup? You have to either approximate curls or blend between hand poses, if you are running through steamVR with link than they get some curl data from steamvr I believe, however oculus doesn’t provide the equivalent. You can run any animation on the hand that you want, I leave that up to you, the grasping hands are demo’s of the auto curl and the welded body driver.

If you just mean the hand playing the fist animation on button press like the epic template than that is just playing a hand animation on a state change.

Thank you for reply Mordentral.
I would be very pleased if I just could make the physical grasping hands to grab(form fist) when trying to grab when not near any grabbable object… Is it just matter of playing animation? And where would I need to set it up?

Yes, and in the animation blueprint, same setup as epics template hands, just run an animation forwards / backward when the button is pressed / released.

Thank you very much for this.
I’m embarrassed to ask more help, but I’m coming from Unity and I have tried to get this to work. I can’t understand where and how I should set it up.
If it’s not too much to ask, could you please help me to set it up?

Add a boolean variable [FONT=Courier New]‘IsOpen’ to the GraspingHand blueprint (VRExpansion/Vive/Testing/GraspingHand) and to the GraspAnimBP as well. Open the GraspAnimBP, on the left hand panel open the EventGraph and add the following:


On the left hand panel open the AnimGraph and set it up this way:


Then open your pawn blueprint or the Vive_Pawn Character, if you are using the default pawn. Find the InputAction PrimaryGripLeft and Right events(yellow box) and change it tho this:


Basically, These input actions get called when you press trigger. You set the IsOpen variable to true or false in the GraspingHand bp, make sure you get checkboxes right. The animation blueprint reads this value on every update(first screenshot) and the AnimGraph will play your open or fist animations, depending on the value of that bool. Let us know if it works or not :slight_smile:

There are probably better solutions, but hey it works.

Thank you very much Eanir! I really appreciate your help!

This worked perfectly!

Hey, thanks for your response, I tried turning on the seated mode, but my character just falls trough everything (when seated mode is off it does not). Thank you for your help!

PS: Also I encountered a different problem, I am using VR interactive assembling (if it is out of your support range I will try to figure out myself :slight_smile: ), I converted the interactive objects that the parents would be GrippableStaticMeshes but when I try to pick it up the hand grips it correctly, but it fixes onto the object and I cannot move neither the object nor the hand.

Is there a way to attach objects to a socket so it would appear on the hand with pre-programmed transform?

  1. You have to provide a valid seat attachment parent for it to attach too. Its not actually seated if it is “falling”, SetSeatedMode literally attaches the character to a given parent component. But you can just use normal attachment as well.

  2. As to their framework, no idea what its doing, can’t provide you with an answer there.

  3. Basic Gripping – VR Expansion Plugin you can actually do really advanced snap transforms as well but that is the basic form

Thank you all for your precious help already!
Now that I got the animations working with physical grasping hands on Quest, next I’m trying to find out how can I change the hand models all together for the physical grasping hands from default matinee hands to something more human?

Is there any tutorial available or does anyone have any instructions about how to do it?

Never mind. Figured this out myself. Sorry if I’m asking too beginner questions here, as everything still is very new in UE4 for me. I’m coming from Unity.

No problems, questions are always fine.

Hello Mordentral, now that 4.26 released is there any release date for the binary of VR Expansion Plugin? Thank you!

Today after some stability checks against the release version of 4.26.

It would be something I would caution against trying to move an entire project over too right away though, its going to be one of the rougher migrations as its being used as a prep version for ue5.

Are there any changes that I should apply moving from 25 to 26 regarding Expansion Plugin? Does v26 on Expansion Plugin support by default Chaos Physics? Are you aware of Chaos situation at the moment, like if all physics features from PhysX work?

Yeah there is a migration guide one for changes that have to be done to projects to go from .25 to .26.

I ported VRE to chaos when it was default in early previews of 4.26, but chaos was far too unstable and broken to be useable (which is why they reverted it being default and made physx default again for now). And no, chaos is not at all currently feature complete with physx.

VRE will still run on chaos currently, I didn’t strip out the chaos pathway code, the only major caveat is that the vehicle class is not cross compatible due to how they changed things so it has to be changed between chaos and physx.

I “may” release a chaos specific branch with the chaos vehicle class if the chaos default version of 4.26 is actually stable enough to care about. Last impressions of it were that it needs months of iteration more, literally could not test features on it due to crashes, performance issues, and lack of actual 1:1 with physx, meaning that I don’t know if the current force units of measure are actually going to remain or be changed.

Edit As negative as that sounded regarding chaos, it is only because chaos was attempted to be pushed far too early. I’m sure that after enough development time they will iron out these issues, and the upsides to chaos with its additional feature set and better framework are huge, I very much look forward to it being stable.

Pushed 4.26 live to both repositories (under master branch) and locked the 4.25 version into its own branch.

Pre-built binaries are live and patch notes and migration guide is here: 4.26 Patch Notes – VR Expansion Plugin


I’m trying to get my index controllers to work with animated hands. I realize the OpenInput plug-in is theoretically no longer needed, but it seems still the easiest way to get it working in multiplayer.

I’ve followed the instructions, but only the right hand animates. The set-up is exactly the same, just changed the enumerators and animbp to left hand. Even if I just drag the OpenInputSkeletalMesh from RightMotionController to LeftMotionController, it doesn’t work. Changing the enums doesn’t change that. The hand is static and offset to the controller.

This is all in UE4.24 single player, in editor. My pawn inherits from VRCharacter.

Am I missing something?

Many thanks

Edit: Nevermind, I manged to make it work. For reference, I’m using the same mesh as the right hand, same animbp, scale -1 on x-axis and enable mirror left-right. I’m using the vr_glove_right_model_slim that’s included with the plug-in.

Hey mordentral I was wondering as you’re the most knowledgeable with vr here if you could please help. I’ve always had trouble using more complex templates like yours and i only need something simple so the below one is ideal for me. Im just now getting back into unreal after over a year away. Thanks.…45#post1837845

Actually unless you are going to replicate curls and blend animations, the open input plugin is the only pre-built way to do it multiplayer currently.
I do plan on killing it off eventually though when I get everything in it ported to the OpenXR hand extension now that OpenXR doesn’t crash on launch for me anymore.​​​​​​​

The plan is actually to move the entire example template and my primary development focus to OpenXR asap (when its implementation on vr platforms and engine seems stable enough), since it will allow platform agnostic features more easily.