VR Expansion Plugin

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?

The object is set to always relevant and replicates.

The server is still the only one seeing it gripped

Well not much more I can tell you unless you look in the logs for error messages, because it doesn’t have that problem even in the template which is unfinished for multiplayer so you are doing something weird.

Closed and re opened project… works

Bug?

Not likely to be with the plugin, that would be a BP problem.

Hey !

Hope you are enjoying the holidays! I had 2 questions I was hoping to get some advice on!

Question 1 - Spawning objects in the player’s hand, already gripped
Explanation: In your Template the player has a “body” cylinder that the potion can be stored in.
I am hoping to have functionality where:
-Player puts hand ‘inside’ the body cylinder
-Player presses the grab button
-The potion is spawned at the player’s hand and the player is now gripping the potion

I was wondering the best way to implement .
Should the body cylinder be a standard actor that uses the VRGripInterface, deny gripping, but “onGrip” check to see if it is the player’s controller? If so, spawn potion and attach to player’s hand?

**Question 2 - fire event every time player grabs a ‘grippable box’. **
Explanation: In your template there is the Gun with a ‘grippable box’ that can be moved on one axis.
I want to play a sound every time the grippable box is ‘gripped’.
How would be the best way to do that?

Do I have a branch on the “On child grip” event that checks if the child was the gripabble box, if so -> play sound ?

As an extension - If there happen to be many components on an actor that can be “Child gripped”, should we set up an ‘on child grip’ with a few branches for each of the child components? Or is there a better way to do ?

Thanks for any advice. Love the plugin, it’s the best :slight_smile:

Replies in bold in the quote.

I have been writing down things I want to do next week all week (ended up being at work over my vacation a bit >.< and my son was sick). Should be more than free over the next few days, I want to look over multiplayer logic some more and try and streamline it.

Is there any work around for multiplayer games that need the player to spawn with objects already held? E.g. in most multiplayer fps shooters the player respawns with a gun held.

ErrorVRPLugin1.PNG

Do you know what error is? Should I be concerned?

I mean you can just make sure the item is replicated over first, the main issue is that currently gripping is server authoritative to regulate actions. Calling the grip on client side adds to the currently gripped array which is replicated down from the server.

I have some ideas of improvements to make on my todo list, maybe i’ll add a secondary gripped array that doesn’t replicate so you can run some logic fully locally. The reason the main array is replicated by the server is to prevent multiple players trying to grip the same thing at the same time and locally picking it up when someone else holds it.

Hmm, in fact i’ll probably just do that, add a secondary grip array that only acts locally, could just merge them before processing then. Then you could spawn props locally and grip them in a multiplayer enviroment.

Yeah thats an editor issue, I don’t remember what causes it, you’ll want to check answerhub.

A mixed aproach by allowing local grabbing sounds great. By using a rep notify actor variable each client can perform the grab locally when that actor finally gets replicated.

I’ll start working on that tomorrow

Hey Mordreal, first of all many many thanks for Plugin !

I unfortunately have a hard time compiling it though, no matter what i try i always end up getting these errors:

1>C:\Users est1\Documents\Unreal Projects\MyProject\Plugins\VRExpansionPlugin\Source\VRExpansionPlugin\Public\SimpleChar/VRSimpleCharacter.h(68): error C2143: Syntaxfehler: Es fehlt “;” vor “"
1>C:\Users est1\Documents\Unreal Projects\MyProject\Plugins\VRExpansionPlugin\Source\VRExpansionPlugin\Public\SimpleChar/VRSimpleCharacter.h(68): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: “default-int” wird von C++ nicht unterstützt.
1>C:\Users est1\Documents\Unreal Projects\MyProject\Plugins\VRExpansionPlugin\Source\VRExpansionPlugin\Public\SimpleChar/VRSimpleCharacter.h(68): error C2238: Unerwartete(s) Token vor “;”
1>C:\Users est1\Documents\Unreal Projects\MyProject\Plugins\VRExpansionPlugin\Source\VRExpansionPlugin\Public\SimpleChar/VRSimpleCharacter.h(68): error C2143: Syntaxfehler: Es fehlt “;” vor "

1>C:\Users est1\Documents\Unreal Projects\MyProject\Plugins\VRExpansionPlugin\Source\VRExpansionPlugin\Public\SimpleChar/VRSimpleCharacter.h(68): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: “default-int” wird von C++ nicht unterstützt.
1>C:\Users est1\Documents\Unreal Projects\MyProject\Plugins\VRExpansionPlugin\Source\VRExpansionPlugin\Public\SimpleChar/VRSimpleCharacter.h(68): error C2238: Unerwartete(s) Token vor “;”
1>ERROR : UBT error : Failed to produce item: C:\Users est1\Documents\Unreal Projects\MyProject\Binaries\Win64\UE4Editor-MyProject-2231.dll

It might be something really simple but i just cant figure it out, im trying for 3 days now and just cant find a solution :frowning:

Hi, I noticed that the teleport function only seems to be working from the listen server machine, and not from client only machines.
On client only I’m always teleported to the origin.

Just checking if is expected behavior for the current state of the template before I try to fix it.
( I’m working on a modified copy of the template from 11-30-2016 )

Update: Fixed. was something broken only in my copy of the template. Issue due to an insufficient navmesh.

I tested as client in a listen server and teleport worked fine, however I did redo some of the teleport stuff since then I think.

Hmm your project isn’t picking up the replicated camera as a valid type.

I’ll add
include “ReplicatedVRCameraComponent.h”

after
include “ParentRelativeAttachmentComponent.h”

In the header to ensure that it compiles it but it shouldn’t be required.

Thank you very much for your reply, im really out of my depth on one, im unfortunately not even sure if it really doesnt work or if i misjudged it.

error is thrown while compiling when i go to add new / add c++ / show all / vrsimplecharacter - in that case building fails with the mentioned error. if i just add it via place it turns up and seems to be working correctly now ( it adds the camera and the sphere and i can spawn the vr preview there even though the motion controller do nothing at the moment but i suspect that might fix itself once i watched your videos )