Steam VR Template

Ok I’ll try that, thanks for getting back to me!

Room teleport is very fiddly. Its very hard to port next to meshes of any kind.

I’m getting missing or incompatible modules in VRExpansionPlugin on project load with 4.12 locked?

Going to have to rebuild since you installed a new one.

Ok, just to be clear. I’ll have to put the other plugin back in so I can add the C++class, then change over the plugin to 4.12.5 locked and then do a rebuild with VS?

If that is what it take yes, it shouldn’t have loaded with the 4.13 version to begin with. You can try without the plugin at all first, or make a proxy project and build for Development Editor and then copy the plugin over.

Make sure that the file structure is correct though.

It’s just not happening, it always picks up on a plugin change or the plugin not being there and throws up errors. I can’t waste any more time on it for the sake of my sanity and my blood pressure.
I’ll strip out the pawn and make a new one then begin the chore of socket placement after I’ve checked that it can package.

But before that I’m going to go and get extremely drunk.

Thanks for trying though!

Ok, I’ve loaded up Steam template 4.13 with my projects contents folder added less the 4.12 Vive pawn folder. I had to re-add the class settings and redo the event nodes on objects as expected using the VR Pawn pickup_P

The menu map works fine, teleport and pick up are all ok, but when the main level loads all the physics constrained objects I have swinging are all moving at half speed and the matinees are also like they are moving through treacle. Sound is working as intended.
I rebuilt the geometry and lighting then turned down all the engine scalability settings. FPS and ms is normal.

Am I missing a setting? Thanks

Edit: When I hit start simulating the game, the objects are swinging between normal and fast speed, FPS is jumping between 90 and 120

Edit: Fixed it by unticking lock frame rate to 90

Build successful!!! WoooHooo!!! ‘Simple move to location’ nodes aren’t working in the editor, could possibly be nav bounds related but that’s something that can be redone.
:smiley:

Hello again!

How would i go about if i would like to switch (with the Grip1 Left motioncontroller) between walking and flying in the SteamVR Template UE4.13??!

and in which blueprint?

J

Ive managed to do that with the usual firstperson blueprint where i fliplop between character movement walk/fly modes.

@JuanGauthier Maybe using a character (even better 's one) would suit you better if you want to do fancy movements. Or you can try also to unlock pawns movements in the VR Pawn since I locked it to the z plane.

So many good news from OC3 and SteamDevDays. Can’t wait for VRDC. Since our main projects involve a multi-platform app (Rift & Touch, Vive & Controllers, Hololens & Gestures) and we would like to tap into the Oculus Avatar SDK, we are currently working on a multi-platform, multi-player template. We’ll keep you posted!

Hi this looks great.

You say try out the VR Template provided by Unreal but I don’t have the option for that when I go to create a new project.

Any idea why?

Thanx Proteus for your reply!
I will test that. but how do i ge to use the grab-objects feature using my own character?

@JuanGauthier

For now you have 4 easy choices for picking up objects:

1)Using the attach to actor found in the 4.13 VR Template. This method is simple but a little bit confusing since Epic used mirrored hands so you have to be very attentive to what you’re doing to not mixing up everything. So with this template all what you have to do is isolate the grabbing functions and copy paste them in your character + don’t forget the associated picking objects interface. Finally, all the objects you can grab have to implement the same interface and have some functions (look at the blue balls).

2)In my template with the no-plugin pawn I took Epic 4.13 one and adapted it to my existing pawn and to be compatible with 4.12 and 4.13. But it’s basically same logic as 4.13 VR Template.

3)You can use 's plugin and develop your own grabbing functions around his custom events like I did with the plugin pawn. Other ways than mine would be entirely feasible.

4)You can also watch VR template but last time I had a look at it I found the grabbing function complex since it wants to be applicable to all different VR systems.

We will do different tests soon to assess the best character with simple functions that could be ported to AR and VR. Also if I don’t see soon a workable template multiplayer I’ll probably do the last steps and finish the template do be multiplayer compatible in 4.13

@Joooe10 You have probably version 4.12 of Unreal? The VR template is there from version 4.13.

Wanted to check if the multiplayer enabled version of this was coming out soon (or aleady out)?

I have been using 2.0 I think, and cant get the HMD mesh to update across clients. I can see it appear at the first position when we connect, but it doesnt update. Tried a simple tick to multicast the mesh position to the VR Camera position, but nothing working.

Thanks for the amazing work guys!

some1 can teach me how to set up my HTC VIVE in unreal couse im lost as hell whi all this info

As for this ^

So @Proteus, I’ve been messing with the template both 4.12.5 and 4.13 and it’s multiplayer usability. I’m aiming for two stations (both VIVE and PCs) running in multiplayer. Here’s what I’ve to get it working.

I’ve remade the UI to 3D Widgets and added Widget Interaction Components to navigate, using default UI setup wouldn’t work in VR - This results in ability to host/join session for both VR stations. Although I couldn’t get any kind of interaction replicated to the client, whether it’s HMD/Motion Controllers Tracking or environment interaction (grabbing/dropping objects). I did use Multiplayer map, modified DefaultEngine.ini settings so the LAN would be enabled. Apart from these almost every single advice this forums can give, even bogged eXi over at Discord. It’s been three days now trying to get simple multiplayer working on two different computers - no luck.

I’m not asking to try to find a solution to my current issue, I’d like to kindly ask any ETA on @Proteus looking into multiplayer functionality to this template as it would be much appreciated.

I hope this isn’t a completely silly question, but I’ve been banging my head against my desk trying to get things to work. I can’t get the controller mesh or teleportation type to change. In the vr_map, I’ve tried changing the settings in the existing vrpawn there but to no apparent effect. Is this not the correct place to set those values? Also, I may be a little confused here (“may be”, ha ha), but since the vrpawn type is set in the VRPlayerController, is it necessary to manually place the vrpawn in the level? What happens when the placed pawn differs from what the VRPlayerController wants?

(Apologies if this ends up being a double post, I think the forums swallowed up my first attempt to post this)

@Joooe10, looks like you’re on a mac, I think VR is currently unsupported on the OSX version and the VR template is not included.

Hey, for you and anyone else who hasn’t been able to make network replication work, this is how I got it (In a player pawn/character):

  1. On event tick (I know, I know), have a custom event called (ClientProcessHMD or whatever) that collects the current transform’s of whatever you are replicating, for instance the HMD.

  2. ClientProcessHMD calls a custom event set to replicate on server (ServerProcessHMD), and passes the transform (and the current users pawn - aka self).

  3. ServerProcessHMD then calls another custom event, set to replicate multicast to the clients (MultiCastProcessHMD), passing the transform and pawn again, then this event finds the HMD mesh inside the pawn passed along, and applies the Transform.

It’s not the most efficient way to do this, but I have spent days and days trying to find an alternative.

Some notes:

  • When you are doing player position, HMD position AND MotionController positions, it will get a bit chunky on the tick, so I made it count to 3 each time I did it, and only sent one of each per tick, so one tick sends player position, next sends hmd, next motion controller, and then start over again. This smoothed out everything quite a bit.

  • MotionController Component does not work for this…you have to use ‘Get Hand Position And Orientation’ blueprint node for each right/left controllers, and pass that transform. I use 0 index for the current pawn (I think thats how it works).

  • You have to use the above Client -> Server -> Multicast event structure to spawn the Pawns into the world also, so everyone can see each user.

LMK if you run into any weirdness, I will try to explain further, but know that networking is possible and works when this way.