Hey !
Judging from the demo vids, and wiki pages I must admit that it sure seems like you’ve done some amazing work on that plugin.
Also it seems you’re very active in updating and developing it which really makes using it in long-term projects a valid option.
Our studio has recently released an indie VR title on steam (Save 68% on Galactic Core: The Lost Fleet (VR) on Steam).
The last week few weeks have all about learning and designing what’s necessary to evolve it into a VR multiplayer game (we’re thinking dedicated servers).
In any case, I’ve been struggling to find an efficient way of play-testing VR multiplayer in the editor.
I mean even the most basic things, like checking if a replicated actors behaves as expected, if all client’s received some RPC call, if game is consistent between clients.
So a few questions in terms of general multiplayer VR development workflow:
- How do you test multiplayer functionality each time you make a change?
**
In 2D, I have a function setup so that if I am not specifically launching in VRPreview then it uses a copy of my character with the head and hands locked (ie acts like a normal character).
prior to actual feature release everything gets tested again actually in VR across two computers. was harder to do in the beginning because many of the core features needed testing in VR.
However since the plugin is fairly stable I am able to do the majority of initial testing in 2D now.
It is likely that any eventual system you make would be able to get to that point as well fairly quickly.**
- Is it possible to some how perform testing for 2 clients and a server using just a single PC and headset (even if the other client is just running a keyboard/mouse version of the game)?
See above but set client or server to non vr mode, can launch from uproject without packaging for local testing
- Any debugging tools /tips you could share from your experience?
**Netprofiler is god in engine, every new feature unless you specifically know what the overhead is going to be should be ran through it to check for bandwidth problems.
As of 4.16 you need to set minimum NetUpdateFrequency times or you will get some very aggravating inconsistencies, is due to AdaptiveNetFrequency being enabled by default now.
I wouldn’t turn the feature off though, it is good, you just have to be careful.
You appear to have some more complicated movement systems in your game, transitioning to multiplayer “correctly” will be more difficult than you expect unless you go the route of
full client side movement authority or adapt / re-create the character movement system.**