VR Expansion Plugin

Manny will be the default pretty soon, I had planned to port everything over to it before release but release was much faster than anticipated.

The different skeleton and orientation requires the collision components and animbp and offsets to be different for the manny hand version. I’m going to have to change up the hand socket components as well as the same animation won’t map to the new skeleton.

Hi I’m getting crash after running the plugin example in 5.1. Before I could open the 5.0 version just fine (4.27-Locked also still works). Compiled without errors, and using pre-built binaries results in the same crash, do you have an idea what am I doing wrong please?

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000

UnrealEditor_OculusEditor
UnrealEditor_OculusEditor
UnrealEditor_OculusEditor
UnrealEditor_OculusEditor
UnrealEditor_OculusEditor
UnrealEditor_OculusEditor
UnrealEditor_Slate
UnrealEditor_Slate
UnrealEditor_Slate
UnrealEditor_Slate
UnrealEditor_Slate
UnrealEditor_Slate
UnrealEditor_MainFrame
UnrealEditor_UnrealEd
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
kernel32
ntdll

The crash log contains , but I I’m able to use VR in a dummy UE5.1 project so idk:

LogHMD: Initialized OpenXR on Oculus runtime version 1.78.0
LogHMD: Failed to get an OpenXR system, result is XR_ERROR_FORM_FACTOR_UNAVAILABLE. Please check that your runtime supports VR headsets.

Is oculus set at your OpenXR default API? In the oculus app settings area

I might end up making it so that manny is still optional (but set up some easy method of switching). I have been mulling it over for awhile and i don’t think there are any replacment hands for the manny skeleton yet, so it would be screwing people over trying to use marketplace ue4 vr hand packs.

1 Like

I might end up making it so that manny is still optional (but set up some easy method of switching).

That sounds good to me. Alternatively, seeing that Manny is the future, you could set that one to be the default and have an easy method to switch back.

1 Like

The XR_ERROR_FORM_FACTOR_UNAVAILABLE error means that the HMD isn’t available to the runtime. Check that you have it connected and turned on.

The hand sockets on things are the only thing that doesn’t seamlessly swap so I’m not sure about that.

I can have a seperate base class for the hand sockets for the manny hands, but the ones actually on objects and posed would have to be redone when swapping.

Example doesn’t have many of those thankfully.

But yeah, it might be worth just making the default swap over and leaving the old classes in for now.

Yes it is, although I didn’t install it in its default location if that could be a problem.

I do have it connected and turned on, tried both Air Link and cable with same result.

There is a branch up for the example call Manny Hand Conversion now. Until I make it the default I want to stress test it a bit.

Seemed to be 100% except something is currently wrong with the physical left hands and I need to double check the initial hand orientation against more controllers.

It seems that I’ve fixed it, for some reason my VRExpansionPlugin.uplugin contained a OculusVR plugin which was set to enabled, so I set it to false and it works normally now. Thanks everyone for the suggestions though!

That’s great! Thanks for the heads up… I’ll start using it next week

In UE5.0 and UE5.1, when I activate the “Use Physical Grasping Hands” interactions are completely broken, is there any extra work needed to use ?

I tested using the plugin’s example project using keyboard & mouse and Quest 2.

When I leave the ‘Use Physical Grasping Hands’ disabled, everything works perfectly, but when I activate functionality, nothing works fine:

  1. I can’t interact with buttons
  2. Sometimes I can’t interact with widgets
  3. Sometimes grabbing stops working until I restart the project
  4. When I drop an object, it is thrown in a random direction
  5. The hand collision sphere is stuck in the object when dropped
  6. Grabbed objects lose the collision
  7. There is a delay in the hands when I’m moving
  8. The hands are teleporting and flickering when I’m moving

Here’s a video of the movement issue using the example project:

How to use functionality in newer UE versions? It’s working well in UE4.27 : S


Also, thanks a lot for the plugin, it’s a great job!

Hi There, is a great plugin. i would like to know a way to tweak the controls so i can allow my character to

  • Move using the left stick
    -Snap Turn on the right stick
  • Teleport by pressing one of the face buttons on the controller
    Again, thank you so much for the great plugin and i hope anyone can help me with .

5.0 had massive physics issues period and shouldn’t really be used for such.

5.1 in general should work with physical hands up until gripping things where their collision gets offset. 5.1 still has multiple engine level bugs with constraints and skeletal meshes.

The hands snapping around visually is some weird artifact of the constraints, I expect it to be corrected when other skeletal mesh bugs are corrected in chaos.

I would just avoid physical hands in 5.1, aside from those its a huge step forward from 5.0.

2 Likes

G’day !
Huge fan of the VRExpansion plugin, been using it for years!

I have a question which has halted development of my project. In the gif below, the player on the left is the Server, and the player on the right is the Client - for some reason, the server’s right hand doesn’t get replicated at all after the client joins. happened suddenly, I don’t know what caused it. I’m using an Oculus Source build of 4.27 for reference. Changing the player index in the VivePawnCharacter → RightMotionController’s settings fixes , but only through the editor window - I couldn’t seem to get that change working through blueprints at runtime. Any help would be great!

VrExpansionBug
b

That doesn’t look like it is the hand, as the hand is in relative space to the pawn so when the pawn moves it also has too. It looks more like the cube you are having it grip is the thing not moving. The hand being attached to it is what is stopping the hand mesh from following.

I’ve tried to migrate the DoorActor and VRGameMode from the VRExpPluginExample into a default 5.1 VR template (I added the plugin, built the project and deleted it’s default input folder, and when it wasn’t working I imported the Input settings from the Example, otherwise no changes) movement is fine, but I can’t seem to be able to use grabbing, not even hand reacts. I tried to debug the Grip interaction in the BP_VRCharacter but it never triggers. Could there be some issue with the migration or do I need to setup something afterwards?

Tried it with a blank c++ project, the gripping was triggering and turned out Gameplay Tags didn’t migrate, after setting those up gripping works. (There may have been a lot of warnings about invalid gameplay tags which I didn’t notice before :slight_smile: )

One other thing, teleport mode doesn’t work and only displays , do you have an idea what could be the problem? Imgur: The magic of the Internet

The teleport projects to the navigation mesh, if there is no nav mesh then it fails to map to it and the laser won’t show on a surface.