VR Expansion Plugin

The template download is a complete package, it has both of the plugins it uses already packaged in with it, you just have to compile it as-is. If you downloaded the plugin separately you shouldn’t.

If compilation is an issue for you, the current template should be compatible with the pre-built 4.19 binaries of both plugins as well. I have Advanced Sessions packaged in for the server browser portion of the example template.

Ah, well that was easy to diagnose, the real issue was right at the top of the log.

Disable the AdvancedSteamSessions module in the plugins list, there is no Steam binaries packaged out for PS4 and since you left the module enabled it is expecting them.

I don’t use that module in the template anywhere currently, it is just active by default when AdvancedSessions is installed.

You’ll likely also want to disable the SteamVRExpansion module since that is also unusable in PS4, it will show BP errors for the few nodes that the main character uses from it so you can just delete them. I wrap all of the OpenVR functions in pre-compiler checks so it might package out with it enabled, but the nodes will do nothing.

the last warning is it complaining about some logical syntax, their compiler isn’t as fine with it as others are, i’ll clean that up too, it would still build with it, but errors messages clutter the screen and it is a valid warning that should be fixed anyway.

I don’t have the two problematic plugins installed for 4.19. (AdvancedSteamSessions, OpenVRExpansionPlugin). The build does work according to VS (both 2015 and 2017), but I still get this error when I try to open it. The .dll of these modules exist though.

What do you suggest? Installing both plugins for the 4.19 engine and try to compile Plugin Example Template Repository again?

Build for Development Editor, that is the one that opening the editor requires.

His problem is PS4 specific, its unrelated.

The plugin won’t “auto compile” when launching the editor, has to be done from visual studio. AFAIK that message box only works with engine folder installed plugins.

Thank you very much sir, but, can you give me a tip please - how can I disable SteamVRExpansion module? IDK how to this do but also I can’t to find any mentioning of this in source files too to just delete them…

Go to the top of the editor, and the Plugins menu

You can turn off any module in the engine from there.

Thank you so much for your help so far! I wasn’t referring to a comment from another user, I’m sorry if this caused confusion. My error message in the first post just happened to contain this:

“The following modules are missing or built with a different engine version:
Would you like to rebuild them now?”

I did follow all the steps from the readme:
I downloaded the Plugin Example Template Repository
I right-clicked and made sure it says 4.19
I generated the VS files
I opened the .sln in VS and selected the Development Editor Win64
I build solution (also tried to clean or build it individually)
It finishes without errors and warnings
I open the .uproject and get the errors mentioned above

Did I make a mistake at some point or did I forget something?

The Plugin Example Template Repository is the only one that contains the complete car, right? Or can I find it somewhere else?

Sorry, but I’m a little confused… Do you mean a whole OpenVRExpansion plugin by naming it as SteamVRExpansion module, so you say that I just should turn it off?

No, in the actual editor there is a menu item called “Plugins”, it shows visual list of all enabled plugins, you can disable those two in there. Just turn them off and they won’t package out.

Nope, that should be working, what platform are you on that those two aren’t compiling? You can open the uproject and remove the OpenVRExpansionPlugin from the list of modules it uses, and you can delete the two modules that aren’t compiling, but if there truly is no warnings than it should load fine.

I have Windows 10. I tried to turn it off before (I simply selected enabled: false in the .uproject), but I still get the error regarding AdvancedSteamSessions. The only way I was able to get rid of this one as well was by removing the AdvancedSteamSessions folder. It doesn’t seam to be a good idea though because the project crashes if I want to start it afterwards.

Ok, how long is the file path you have the project at? it can fail to generate files if the file path is too long.

Otherwise you might want to try with a clean build again or by deleting the saved folders since you changed some things.

I put my comp on building a fresh copy from the template download just in case this morning and it loaded fine.


Wow, that was it! I tried around for hours, even changed to a pc with different admin rights, but it seems as if my path was always too long. I didn’t suspect this at all since I’m only a few folders deep, but it works if I try the same steps directly in the D: folder.

Thank you so much for your help! I’ll try to play around in the scene now.

Its one of the hold overs of the OS that people keep running in to, the warnings it generates are really obtuse, think you are the 5th person where that was the problem.

Pushed another commit to the plugin

 Fixing another bug introduced with the new rotation correction system   
 (this was kind of unrelated, forgot to replicate a value with teleport). 

Thanks for the stability testing reports, it is easy to oversee a few things when making a change this big. Hopefully that fixes the major missed items.


Sorry if my problem will seem obvious, I just started to use the template and I have a lot of things to discover.
So I created a C++ project with the plugin and I imported the assets from the template example level. Everything works fine
for the movements, teleportation etc…

But I can’t grip anything. I just tried to test it with a BP_PickupCube instance and it doesn’t work at all. When I dug into the blueprint
code itself, I found that in the function GetNearestOverlappingObject called when trying to grip something, the nearest object found is
always… the Vive pawn itself! I really don’t understand why, especially because when I directly test the example project it works perfectly.

You didn’t move over the VRTrace tracing channel, I use a seperate trace channel so I can deny things from even being hit when checking for grips.

You can change the channel in the BPs and set the actor to ignore it, or you can import the channel from the template.

Also you might have forgot to migrate the gameplay tags.

You can hit yourself btw because if I ignored the actor entirely it would also ignore attached components that you may want to grab.

Thanks for a great plugin - certainly puts the default VR template to shame!

I’ve been fiddling with the teleport system to ignore the nav-mesh, and to instead consider any static mesh surface with less than a given inclination to be a valid target.
This means that you will often not have a valid target (unlike the original system which pretty much only had no target if you aimed off the edge of the world).
This is fine - I’ve tweaked things so that the beam arc is still shown whether the target is valid or not (but the destination cylinder isn’t), so you can see where you are hitting.
All pretty simple stuff, and so far so good.

However, when the target isn’t valid, I’d like to display the beam in a different color.
Should be simple, surely…
I see that M_SplineArcMat is the material applied to the arc, but I’m still in the early days of Unreal, and I can’t figure out where this is actually applied.
The arc mesh appears to be made of BeamMesh instances (which has a default material applied).
If I select M_SplineArcMat in Content Browser, then right-click ‘Reference Viewer’, it says that it is used by BP_Teleport_Controller, but I cannot find where it uses it.
I must be missing something really simple, but I’ve been searching for ages and just cannot find it.

Can anyone give me a nudge in the right direction, please?


How can I hide vive controllers, and replace them with Mannequin Hands?

Well, the gameplay tags were the problem. I didn’t forget to import them but I did it after the blueprints, so they could not be set up. I specified them
in the pawn blueprint and now it works perfectly. My bad !