So, basically I was having issues getting component positions to replicate, but child actors were replicating their main position. So I simply made an actor that was set to replicate and added it as a child actor component in my motion controllers. This gave me the ability to see if the hand was overlapping an object on the server and allow me to pic things up.
This beautifully solved my problem and allowed me to use the headset to pick up objects on a multiplayer game.
Now I built out a version into a development build and it does not work. The positions of the child actors is in their default location in the blueprint. However the exact same project works as intended when I play in editor.
I also have one of the replicating position actors attached to the camera so I can play in non VR mode to pick up objects, this allows me to get the pitch of the camera. This works beautifully in both the editor and development build, so I can only assume this is some sort of bug with the motion controllers?
Any assistance would be greatly appreciated.
Hello NoahTimefireVR,
I have a few questions for you that will help narrow down what issue it is that you are experiencing.
Quick questions:
- Can you reproduce this issue in a clean project?
- If so, could you provide a detailed set of steps to reproduce this issue on our end?
- Can you provide screen shots of any blueprint that may be involved with this issue?
I was able to reproduce this, but I think I figured out what was going on. It never was actually properly working to begin with.
I think what was going on was that because I was running the game in the editor, and the editor had focus, and the controllers were linked to player 0, both the server and the client were reading the same inputs from the VR motion controllers. This made it seem like it was properly replicating when in fact it was not replicating but just both were receiving the same input.
I realized this when someone else logged into the server in non VR mode and I saw their character moving about their Steam VR space in the exact same fashion as my character.
I am not sure of a good way to replicate the movement of my motion controllers across the network, though I did come up with this solution:
It seems rather inefficient and hackish as I am multicasting back to the client that is sending the info (which I already had set the position so it is perfectly smooth on the client end). Is there a better way to solve this replication that I just cant seem to find anything on? I would love to see a “replicates movement” on the motion controllers that functions like the Character Movement Component.
Do you have any documentation on multiplayer functionality with VR? If not might I suggest getting someone over there to start setting some up. Thanks for trying to help.
I know that you are looking or more VR specific documentation but I would suggest looking over the link below if you haven’t already. I hope that this information helps.
Multiplayer info:
https://docs.unrealengine.com/latest/INT/Gameplay/HowTo/Networking/ReplicateActor/index.html
Did you ever find a better solution? I stumbled across the same solution as you and wondered if there was anything better for motion controllers over network?