VR Expansion Plugin

Got it. No, your VSC is good for what I want – just need to change when/how it’s activated depending on the stock for particular weapon.

Right now, what’s determining when the virtual stock is “active” ? Proximity of… the controller? I watched your videos on it but either missed when you talked about it or I missed it in the documentation.

Thanks again for all your help!! (just subbed to your patreon)

Proximity of the controller to the neck offset yea, there is a radial boundry that you can set. But you can switch it to be on/off at will by turning off bUseDistanceBasedStockSnapping and then calling “SetVirtualStockEnabled” to change states.

Ah! Got it, cheers!

Just started looking into plugin. Seems very promising. One question fellas: How do you actually teleport the pawn? The location updates are fine, but how can I control the Rotation? Rotation is being maintained across the Teleport, for me.

NVM. I had my bUsePawnControlRotation set to true. Deactivating that seems to have given me back the control I needed over rotation.

For multiplayer you likely want to leave that active, it is the native replication path way for rotation, you can SetControlRotation for the same effect.

There are also SetActorLocationAndRotationVR, SetActorRotationVR, SetActorLocationVR functions that handle the HMD offset for you and can be called for convenience.

​​​​​​​Also there is a built in teleportation function “PerformMoveAction_Teleport” that does it for you as well, inline with the movement of the character movement component (normal teleports are not inline and can cause out of sync issues and logic problems).

Hey,

I’m a 3D-Artist and quite new to the technical site of Unreal Engine. I tried to open your PluginExample and had to rebuild a few things. Got a lot of build errors:

LogFileManager: Error: MoveFile was unable to move ‘X:/19_08_24_vrshooter/Engine_Szene/VRExpansionPluginDemo - Kopie/-vrexppluginexample-fe3767ff4163/Plugins/VRExpansionPlugin/OpenVRExpansionPlugin/Intermediate/Build/Win64/UE4Editor/Inc/OpenVRExpansionPlugin/OpenVRExpansionFunctionLibrary.generated.h.tmp’ to ‘X:/19_08_24_vrshooter/Engine_Szene/VRExpansionPluginDemo - Kopie/-vrexppluginexample-fe3767ff4163/Plugins/VRExpansionPlugin/OpenVRExpansionPlugin/Intermediate/Build/Win64/UE4Editor/Inc/OpenVRExpansionPlugin/OpenVRExpansionFunctionLibrary.generated.h’, retrying in .5s…

Timon :slight_smile:

Its passed the maximum file name length for windows, try removing that bitbucket generated folder name that is so long and placing thing directly in the folder above it.

IE: Delete folder and move its contents one up

It worked! Thanks :slight_smile:

One more question (sry for that). I used 3D Widgets for my main menu and the Widget Interactive with a hovered and click event before. Im unable to use 3D Widgets with your “Beam”. There are no hit events inside my widgets. I’m sorry for my simple artist question.

eh? The template comes with a 3dWidget that works with it?

id like to ask if the plugin supports valve index? like the finger touches etc…

There is a seperate module for it that supports the animation and gesture detection and replication of the hands with open Input. It’s not packaged in with the core plugin as it not everyone will want or need it.

Hello , I have a problem. The vr character has no problem with the real open the door in single mode. But in multiplayer mode, I think physicsConstraint causes the door to twitch but I don’t know how to solve it.

You can’t really, physics constraints do not replicate, the only physics replication in engine is going to causing fighting between the local and remote setups as it will pass the servers constrained values down and then try and fight the local constraint. Either run the door without replication, don’t have it simulate on client side and replicate position/rotation server down, or use a non physical door like the VRLever for it.

4.23 is live in both repo’s and full binaries are uploaded to the website.

I will provide patch notes later though they will be fairly light.

I’ll note that I had the intention to have the repositories moved over to GitHub by 4.23’s release but I didn’t make it in time, I will be shifting them over later.

  • That worked. Your plugin helped me a lot. Thank you very much

Hi!
First of all - Thanks allot for awesome plugin!
Have a simple problem here - i want to add head rotation to the right thumbstick. So that you can not only rotate with hmd but can do that together with a simple thumbstick rotation movement.
Would highly appreciate any advice!
Thanks

Call PerformMoveAction_SnapTurn, you can pass either a hard value to snap by, or you can call it with a delta time modified speed to get a smooth turn. Its also networked with the character movement component.

Thank you very much for your answer!
im allmost there… but im still learning it all and im afraid im missing the easiest part of it…
I called PerformMoveAction_SnapTurn with Vrmovement reference as a target… but can you please help me where i should plug the exec now?
And for futher understanding where should it all happen?
So is it in functions-movement-GetCharacterRotatedPosition or is it in Locomotion-CalcPadRotationAndMagnitude …
or it doesnt really matter?..im confused
i know it should be easy and im sorry for my lack of proper knowledge so far (
but can you please explain a bit in detail where and what should be correctly pluged into?
thank you very much in advance!

It entirely depends on your keybindings, make an action “snap turn” and bind it to the motion controller thumbstick axis Y (could treat it like a button press too).
I’ll note that the example template is normally reference material, and if you are attempting to make something with it directly that you will need to toss a bunch of stuff that you don’t need out of it.