VR Expansion Plugin

Yeah sure.

is handled inside our VRCharacter blueprint

While is handled in the VRGameInstance

My partner (the only other one with a Vive right now) went on Holiday break to visit family, so I won’t be able to test it until he gets back.

Use the template blueprint code for switching between fps and VR pawns. It lets you test at least one side of it with a single HMD as long as you have two computers or filter it by server/client as to who uses the HMD. I checked a lot of my multiplayer tests using my wife computer before I packaged it out to friends with vives.

So I could just plug my ethernet cable between the two computers and the one without the HMD would load in as the FPS Pawn?

On the same network yes

is now getting out of the area of your plugin. Thanks for the help and looking at what I had set up.

Is there a way to have an actor get the actor/character that is gripping it?

If it has the interface there is an “OnGrip” event that is triggered that passes in the controller gripping it that could be checked for owning actor and/or stored. Otherwise no you’d have to manually check.

Its supposed to be fairly abstract as that is something that I assume the user to know how to handle best for their case and I didn’t want to force base actors.

Merry Christmas ! Just wanted to share a quick video using your plugin. Extremely basic stuff so far but the plugin has made interactions so intuitive. Have learnt heaps so far and hoping to make a lot of progress during holiday break. Thanks again for the fantastic plugin!

[video]Espire 1: VR Operative first prototype video - Tranq gun handling - YouTube

Hi , I am spawning an actor on server and on the same frame I grab it with the grip motion controller. works fine on server but on client the attachment never takes place. If I add a a delay after the spawning of the actor the attachment works on clients as well. Am I doing something wrong?

The client may not have the replicated object yet when you are saying that it has been gripped. Replication isn’t guaranteed to be in the order you send them in and the object has to be initialized first. is expected behavior with non attachment “grips”. The client side “GripNotify” function is probably failing due to the object not existing on the client yet.

Thats really cool, looks like you have the grip detection pretty smooth since you were cycling pretty fast there without issues.

Just to be sure, for a game that a client can join at any time and objects are already beign held from other players I should use “attach to” instead of the VrGrip if I want them to be visible as held in that client?

No, if the object is already replicated my plugin checks the array of held objects when it is updated over the network and if it finds a new grip (like if connecting in) then it sets up the grip.

Your issue with instantly spawning and calling grip is that the array of gripped items is probably sent before the actual object is sent over so the client can’t actually grip anything.

Edit I could technically add a flag and check held items for if they have been processed yet every frame but I think gripping after the replication is better (or spawning the object client side instead for things that don’t need to be server side, generally side arms and the like won’t need to be).

Our client is unable to grab anything. Based on our particle effects not showing as well (particle system and light attached to our VRcharacter) Work’s otherwise tho, it tracks the players movement and controllers.

Are you able to grab things client side?

either attached to your client player/spawned in the world

Then you aren’t grabbing things server side, check the log for errors.

Well we’ve got it gripping server side but not client now. Progress!

Multicast something right?

However, if I run two instances in editor and join, the client is able to pick things up.

If I package it and try to use it on another computer (testing on static ip network) it doesn’t replicate in clients view

Is the object actually replicated to the client?

It’s attached to our VrCharacter. Would it inherit replication from there?

The object has to be marked as always relevant or replicated, does the client even see the object?