VR Expansion Plugin

You don’t need to worry about floor trace, it was for an experimental gun.

VRTrace is what the template pawn uses for its gripping trace logic and overlap fallback. You can use a different trace channel, but if you are using the template pawn you would have to change it in the blueprint nodes.

I wanna use the vive_pawn since it has a lot of the basic features for multiplayer already set up and I need to convert a project into multiplayer for a proof of concept. I having trouble setting up objects with the grab functionality from you VRgrip interface. I’ve figured out that my tags on the object are not matching what the Vive_pawn is set up as. I’ve been using your BP_PickupCube as an example, in my project I cant pick it up but in the template project it works fine. I’m assuming the object is not set to its proper gameplay tags but its escaping me on where to change that.

Make sure you set the gameplay tags in the project settings and then recompile the pawn blueprint, a few people had the default tags in the GripDropOrUseObject nodes being reset to empty if they didn’t port the gameplay tags into their projects first. Then nothing will pick up because none of the buttons are mapped to a tag.

All right I imported the GamePlay Tags as well as fix the Input warnings in Vive_PawnCharacter to fix the compiler warnings. I still can’t grab objects, because my gameplay tag is return none.

Is my GripTag variable supposed to be empty?
I added some pictures below but gripTag is the same in my project and the template project. If isn’t a problem any idea what it is? Another thing I noticed is the map I’m using is not in the Gameplaytags.GripType.OnTrigger references like it is in the Template project. Is that an issue?

Yeah like I said, since you didn’t import the gameplay tags but must have saved the character after opening it, all of the grip tags were wiped from the nodes that reference them.

Quickest fix would be to just re-import the vive_pawncharacter.uasset. But if you want to do it the harder way, you’d have to copy the values on these nodes from what the template uses:

https://i.imgur.com/JwOTKfs.png

I really need to make a migration guide for people at point, I hadn’t originally anticipated so many people just using the template as is.

Anyone know of a way to force drop whatever a specific grip motion controller is gripping (if it is gripping something), and still fire the grip released event?

Drop Object looks like it requires the gripped object be specified. Just wondering if there was a quicker way - like being able to just say “left MC”, drop whatever you’re gripping and fire the release event.

Edit: That recent tutorial is sick with how you got the movable viewport. Since when has that functionality been in? (It was a little strange that the voice wasn’t spatialized, but that’d prolly make it harder to hear.)

Hi ! I’m very interested in exploring the mechanics of your plugin, thanks for making it and putting it out there!

I downloaded the pre-built binary (4.17.2) and copy pasted into a plugins directory I made for a new vr template project created with engine version 4.17.2 but get message when trying to launch the project:
vrexp.PNG

I’m probably missing something remedial, can you kindly tell me what I’m missing. Appreciate it.

You aren’t on mac or linux are you? It should be fully built for windows for 4.17.2

Make a function that drops all or finds the first and drops it and use that, I didn’t want to automate that too much since the grip system has no limit to how many objects you can actually pick up at a time and some people may want to filter based on what is held. I think the template has some short nodes for “Drop first” and “Drop all” and the like already even. You can get a list of held objects from the controller itself.

Also the viewport thing is just using 4.17’s spectator screen functionality, I just use it from the vantage point of a camera that I made so I could re-position it and see a image of what is going on in the monitor on a little preview screen.

Thanks ! I ll download and will try!

AHA! Thank you! I should’ve seen that before honestly.

A migration guide would be really helpful or maybe a character setup guide. I just used it because you have the networking setup on character and I need to quickly make a proof of concept with multiplayer

No sir, Windows 10.

So after a nap and some further head scratching, I tried throwing it into a blank project and voila no error message. I see the plugin and I see its enabled. So its all C++ code? I’m wondering how to implement , as I’m a BP guy. Again, I’m a newb to plugin so please forgive my simplistic demeanor, I really want to wrap my head around !

You can follow the step by step guide, compiling it isn’t hard since you don’t have to edit any source, just click a couple of buttons.

Its generally better to learn how to compile it anyway, as if a new engine version comes out or a hotfix and doesn’t require source changes then you can be up and running instantly.

Also useful if you intend to keep your project version controlled, you won’t have to store binaries and intermediate files, just the source.

Regardless for implementation, the Example Template is your best bet, everything is done in blueprints there for reference. I figured that people able to use c++ could just back port from blueprint to c++ anyway and the other way around is not as easy for others.

I will warn however that the template implements a ton of things, many of which you may not need and may want to remove some day.

Whether its better to start from the template or use the template as a reference is up to you.

Yeah, I will try to get a migration and simple setup video and wiki page out soon. Just have been really busy and 4.18 preview hit earlier than is normal between versions.

Ok, so it sounds like I can’t use the Stereo Widget, since I want UI to draw with depth. What’s making the normal 3D widget look so much worse by comparison? Is there a way I can get the same fidelity there as in the Stereo Widget?

Make sure you are rendering it at a larger size and downscaling to your surface. The In template browser isn’t all that bad quality wise.

Regardless it will always look worse than a direct projection, it is receiving in game lighting and is antialiased and post processed when in 3d.

Hi .
When I play a level with two local players, one based off your Vive pawn and one based off your FPS pawn I find that the VR Replicated Camera for the FPS pawn still locks to the HMD transform despite Lock to HMD being unchecked and Use Pawn Control Rotation being checked. I can see the children components move in the 2nd player mirroring the movements of the HMD.
I’ve just starting testing multiple local players for desktop and VR play so I may be doing something foolish but could it be a bug causing ?
Thanks.

If you are basing off of the template then you need to make some changes, otherwise it will assume that the HMD is default for both and spawn two HMD pawns. You’ll need to go into the player controller function that chooses between FPS pawn and VR pawn and set it to always return FPS pawn when it is not player 0.

I haven’t done any local multiplayer setup work in the template (at least yet).

Thanks. I’d already done the necessary changes so the player controller spawns the appropriate pawn. I’ve confirmed in preview that the World Outliner shows a Vive and an FPS pawn but the FPS pawn camera component locks to the HMD.

It shouldn’t? Otherwise the FPS pawns in editor testing wouldn’t work.

Did you turn off “bAutoSetLockToHmd” on the camera component?