VR Expansion Plugin

You need to set the pivots on all clients / the server, you also need to replicate that you are moving the custom pivots. The pivot can be ANYTHING so I can’t really replicate that for you, and replication in engine is one way, server-down.

You need to tell the server that the client moved the pivot (or move it on the server and let it movement replicate down to the clients). Right now you are just moving it on the owning client only and it is staying in the same spot on everyone else.

Is that in multiplayer and did you not change world scale on the server as well? Because the CMC would report incorrect locations then.

no it wasnt multiplayer, it seems to be related to nav mesh, if i delete the nav volume and restart the editor it gets rid of it

Thats strange, so it was performance hitching?

ROJO mentioned on the discord that play in editor is currently bugged with non 100 world scales… If you close all of the tabs, including output, find in editor…etc all of them… It should work in PIE. Are you getting that outside of PIE as well? This had worked for me when i tested it… Not sure where the bug is from but that workaround worked for me.

Thanks again, and sorry for being so daft! I thought I just needed to check the component replicates box on the component I was using as the custom pivot, but it looks like I had to get “custom pivot component” from the motion controller and set it to replicate using the “set is replicated” node in the BP. Even after that I was was getting strange behavior (held objects flashing between two points) which caused me to think it wasn’t replicating properly. When I moved the custom pivot objects to be descendants of the controllers instead of the skeletal mesh it solved the problems. My guess is it has something to do with socket locations not replicating exactly on the skeletal mesh, as I was also having problems drawing the laser beam from the hand socket location instead of the motion controller. But that is not a problem with the plugin. Thanks again and I’ll leave this here in case anyone has this problem later on and searches for it. Cheers

Tried this and it resolves the issue, thanks
havent tried it in a packaged build yet, trying to get the knuckles mappings to work in a build first

How can I get the 4.22 beta?

the master /default branches are the current live engine versions, “beta” branches are shut down on release of the version they were beta for.

Ah ok, is there any date on when the 4.22 branch will be released?

I think you misunderstood me, master IS the 4.22 branch. The day that 4.22 came out it was moved over.

ohhh yikes thank you for clarifying

Pushed a new commit to both repositories

Removed Physx and Apex dependencies, massive overhaul to the new physics interface added to the engine, prep work for Chaos physics

Path notes here:


For any reason, I can’t compile the demo to learn how to use this plugin… is there any basic blueprint to start with the movement? I have the VRcharacter inside the level and I have moved it… but I don’t know if I’m doing it the way it is supposed to do. (VRMovementReference → PerformSetRotation)

So just that little question: a best easy way to do the very basic free locomotion (left-hand X / Y (strafe), and Right-hand free turn?)

Thanks again and sorry for such an elemental question. And congrats. Seems to be something that unreal had to implement natively.

hello thanks for topic need to attach it to the vehicle with the constraint, or have it constrained to a non simulating component…

Correct me if I’m wrong, but if you download the example project from <here> there’s no need to compile anything, you can just use the demo directly.

I’m puzzled with the slot gripping…

How do we decide to slot to the “Closest Grip Slot In Range”?

  • In the demo, the HeroSword and the Slicer both have a slot (‘VRGripP1’)
  • The HeroSword slots, while the Slicer doesn’t…
  • I don’t see any function in either BP that takes care of this

Only difference is that HeroSword has a skeletal mesh while slicer has a regular one…

Whats going wrong with compiling the example template? You likely missed a step when installing visual studio.

Also for movement, in general it is just AddMovementInput like with a normal character, the examples use a leveled controller forward vector for the direction with the default mode, rotating for snap turn or free turn is done with PerformMoveAction_SnapTurn. SetRotation works but its a hard set so its harder to work with when you just want a delta value.

No it has to be compiled as well, I don’t want to compile out pre-built examples for every engine version and every binary change, it gets very large very quickly in history, its also not just a blueprint project as I use it for compilation testing.

Okay okay… Found it… In the VRGrip interface there is the “Primary Slot Range” that should be >0. I withdraw my question :slight_smile:

The slicer has the “Primary Slot Range” set to 0.0f to force it to ignore the slot. I believe that when testing I liked it better free gripping for testing.

Edit Whoops you posted at the same time ;p