VR Expansion Plugin

looks like a lot (most?) projects that didn’t start in 5 are bricked and cannot generate input manifests for openXR.

You mean if they did start in 5.0 there’s no issue? If we compile your 5.1 source, it should possible to get the existing (based on 4.27) blueprints to work with some porting modifications?

Not sure why you are even talking about it atm, a Preview1 is never ready for use anyway. You shouldn’t be doing any porting at all until its released and maybe after a hotfix then even.

There are 5.0 and 5.1 blueprints anyway already.

Not sure why you are even talking about it atm, a Preview1 is never ready for use anyway. You shouldn’t be doing any porting at all until its released and maybe after a hotfix then even.

You’re very right, of course… It’s just that due to a project deadline I’m forced to consider my options already now (do I continue developing in 5.0 with the target to migrate to 5.1 or do I develop in 4.27)

Would have been better off 4.27 to begin with, as it will be upgradeable to a stable UE5 when one comes. No guarantees can be made off of a first preview as to the final state on release.

1 Like

UE5 Preview 1 is fully ported to in the plugins 5.1-Preview branch. Took a bit to work around some new issues that were presented.

Keep in mind that preview 1 still has some preview specific issues. Specifically the new input system doesn’t seem to be working with projects converted from older engine versions (openXR manifest generation always fails) and skeletal meshes don’t actually weld when attached currently (welded body driver and general hand attachment is effected).

2 Likes

Hello, what is required to have the VRE Demo play online? I have two seperate pcs with demo on each, and steam running in background, still cant connect via ingame multiplayer widget. V4.26

That should be good actually as is, but try turning on lan on the wiget menu.

Can you help me? Is there any way to limit the movement when climbing only in the z direction?

You can adjust the offset that is used when climbing in BPs, its just tracking the hand against the target object.

However you will have to figure out a decent way to handle the fact that you will then not match up with the target position.

Thank you for your response! I’ve already spent a lot of time and can’t figure out the 2 problems:

  1. What I wrote above, maybe I can explain in more detail. I need to lock the movement exactly as it is done in “VRMovement reference => Constrain to Plan”, but there I can only lock one axis. I need to block X and Y and leave only Z.
  2. When I clamp with one hand, the other hand automatically disengages from the object. Is it possible to hold with both hands at once?
    I honestly did not quite understand your solution that you pointed out above((( Can you clarify!!!
    I will be insanely grateful to you if you help me with ! I do not know what to do!!!

You could hold with both hands sure, as long as you accept that you have to take either a blend of the offset between the two hands or largest / smallest hand motion to run the climbing off of.

Climbing movement mode is just a direct input movement mode, you tell it where to go and how much. All of the movement logic for it in the example is in BP and is in CheckAndHandleClimbingMovement function in the character.

I don’t think you will actually like the end result of what you are attempting, it will feel really weird to the end user. However its perfectly possible to enforce the original grip X/Y and only increment the Z.

Keep in mind that preview 1 still has some preview specific issues. Specifically the new input system doesn’t seem to be working with projects converted from older engine versions (openXR manifest generation always fails) and skeletal meshes don’t actually weld when attached currently (welded body driver and general hand attachment is effected).

Without seeming to be impatient (my apologies if I do)… could you give an update on the above issues, as 5.1 came out of preview today? You’re right that I should be waiting for a hotfix, but there are some new features that I would really like to get my hands on (nanite, anyone? :)).

Its working now, im packaging the pre-builts but master branches are already up on 5.1 as I type . The openXR manifest was actually an issue with the ps4 platform deprecation.

Nanite works fine for the most part as well, and chaos is finally gameplay functional.

1 Like

Great news! Nanite + Lumen + VREP = next-level VR

1 Like

I wouldn’t bet on Lumen in any real experience. While it technically works, it brings the GPU to its knees on current hardware.

5.1 is live on master branch, patch notes here: 5.1 Patch Notes – VR Expansion Plugin

4 Likes

Nanite is probably not super performant either. But I’m not worried about performance yet. I’m solo, so by the time I’m ready to release anything (assuming I ever get there at all), hardware will have caught up :joy_cat: Just that it is supported so I can actually use it for development, is good enough for me.

Also, outside of VR, I get pretty reasonable GPU usage with or without Lumen (quite recent but not latest hardware), so I’m guessing there are still possible improvements even on software only.

1 Like

5.1 is live on master branch, patch notes here: 5.1 Patch Notes – VR Expansion Plugin

Great! Thank you!

Hi! I try make a grip a bow with primary hand and shoot with Event On Secondary Used. How to call secondary shoot? Function get me false and don’t want run a Secondary Used

Hello,

I tried to launch a VR Template in Unreal 5.1.

(First I tried the default Unreal “Blueprint Virtual Reality Template” and it works.)

But if I now quick launch or package APK the VRExpPluginExample (latest GitHub master version) on quest 2 I get these errors.
Any Ideas what to do?

Log:

LogPlayLevel: Error: UAT: LogWindows: Error: begin: stack for UAT
LogPlayLevel: Error: UAT: LogWindows: Error: === Critical error: ===
LogPlayLevel: Error: UAT: LogWindows: Error:
LogPlayLevel: Error: UAT: LogWindows: Error: Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\ShaderCompiler\ShaderCompiler.cpp] [Line: 4668]
LogPlayLevel: Error: UAT: LogWindows: Error:   /Engine/Private/LocalVertexFactoryCommon.ush:146:32: warning: conversion from larger type 'float4' to smaller type '__restrict min16float4', possible loss of data [-Wconversion]
LogPlayLevel: Error: UAT: LogWindows: Error:       Interpolants.TangentToWorld0 = float4(InTangentToWorld0, 0);
LogPlayLevel: Error: UAT: LogWindows: Error:                                    ^
LogPlayLevel: Error: UAT: LogWindows: Error:   /Engine/Private/LocalVertexFactoryCommon.ush:147:32: warning: conversion from larger type 'float4' to smaller type '__restrict min16float4', possible loss of data [-Wconversion]
LogPlayLevel: Error: UAT: LogWindows: Error:       Interpolants.TangentToWorld2 = float4(InTangentToWorld2, InTangentToWorldSign);
LogPlayLevel: Error: UAT: LogWindows: Error:                                    ^
LogPlayLevel: Error: UAT: LogWindows: Error:   /Engine/Private/LocalVertexFactory.ush:541:17: warning: conversion from larger type 'float3x3' to smaller type 'min16float3x3', possible loss of data [-Wconversion]
LogPlayLevel: Error: UAT: LogWindows: Error:       min16float3x3 LocalToWorld = LWCToFloat3x3(GetInstanceData(Intermediates).LocalToWorld);
LogPlayLevel: Error: UAT: LogWindows: Error:                     ^
LogPlayLevel: Error: UAT: LogWindows: Error:   /Engine/Private/LocalVertexFactory.ush:542:15: warning: conversion from larger type 'float3' to smaller type 'min16float3', possible loss of data [-Wconversion]
LogPlayLevel: Error: UAT: LogWindows: Error:       min16float3 InvScale = GetInstanceData(Intermediates).InvNonUniformScale;
LogPlayLevel: Error: UAT: LogWindows: Error:                   ^
LogPlayLevel: Error: UAT: LogWindows: Error:   /Engine/Private/LocalVertexFactory.ush:853:36: warning: conversion from larger type 'float' to smaller type 'min16float', possible loss of data [-Wconversion]
LogPlayLevel: Error: UAT: LogWindows: Error:       Intermediates.TangentToWorldSign = TangentSign * GetInstanceData(Intermediates).DeterminantSign;
LogPlayLevel: Error: UAT: LogWindows: Error:                                        ^
LogPlayLevel: Error: UAT: LogWindows: Error:   /Engine/Private/MobileBasePassVertexShader.usf:42:15: warning: conversion from larger type 'float3' to smaller type 'min16float3', possible loss of data [-Wconversion]
LogPlayLevel: Error: UAT: LogWindows: Error:       min16float3 WorldPositionOffset = GetMaterialWorldPositionOffset(VertexParameters);
LogPlayLevel: Error: UAT: LogWindows: Error:                   ^
LogPlayLevel: Error: UAT: LogWindows: Error:   Struct member does not have MatrixStride set.
LogPlayLevel: Error: UAT: LogWindows: Error: Failed to compile default material /Engine/EngineMaterials/DefaultLightFunctionMaterial.DefaultLightFunctionMaterial!
LogPlayLevel: Error: UAT: LogWindows: Error:
LogPlayLevel: Error: UAT: LogWindows: Error:
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ffb2448563e UnrealEditor-Engine.dll!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ffb24483aa7 UnrealEditor-Engine.dll!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ffb1ba80865 UnrealEditor-UnrealEd.dll!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ffb1bb00e4d UnrealEditor-UnrealEd.dll!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ffb1bb11517 UnrealEditor-UnrealEd.dll!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ffb1bb10df5 UnrealEditor-UnrealEd.dll!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ffb1b86ff70 UnrealEditor-UnrealEd.dll!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ffb1b892473 UnrealEditor-UnrealEd.dll!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ff74a01b0ce UnrealEditor-Cmd.exe!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ff74a012688 UnrealEditor-Cmd.exe!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ff74a01296a UnrealEditor-Cmd.exe!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ff74a015680 UnrealEditor-Cmd.exe!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ff74a0271b4 UnrealEditor-Cmd.exe!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ff74a0296f2 UnrealEditor-Cmd.exe!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ffb6e7574b4 KERNEL32.DLL!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error: [Callstack] 0x00007ffb703626a1 ntdll.dll!UnknownFunction []
LogPlayLevel: Error: UAT: LogWindows: Error:
LogPlayLevel: Error: UAT: LogWindows: Error: end: stack for UAT
LogPlayLevel: UAT: Took 40,2475899s to run UnrealEditor-Cmd.exe, ExitCode=3
LogPlayLevel: Error: UAT: ERROR: Cook failed.
LogPlayLevel: UAT:        (see [...] for full exception trace)
LogPlayLevel: UAT: AutomationTool executed for 0h 3m 56s
LogPlayLevel: UAT: AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)
LogPlayLevel: Completed Launch On Stage: Cook Task, Time: 40.116831
LogPlayLevel: UAT: BUILD FAILED
PackagingResults: Error: Launch failed! Unknown Cook Failure

Thanks for your advice