Single/Multiplayer, Touch & Vive blueprint only Template

**Version 3.2.1 - August 18, 2017

Files can be found at Microsoft OneDrive - Access files anywhere. Create docs with free Office Online.
GitHub version at GitHub - ProteusVRpublic/ProteusTemplate: Single/Multiplayer VR Template for Touch/Vive Controller * (you need to be logged to Github to open the link)

**
What’s new in version 3.2.1?
*
I’ve had a dozen reports about “What the hell, can’t see my hands!”. ALL these problems were due to Guardian or Chaperone not correctly set during Rift/SteamVR setup. After each person redid their setup, the hands magically went back. So now I’ve put a safeguard for that see fix #1.

What I recommend: Try the 4.17 packaged version on the OneDrive (Template 3.2.1 packaged). If there is problem there, it’s on your side, probably setup based.

NEW FEATURE:

Spectator mode toggle (4.17 only)
I put a simple static SceneCapture2D in MultiMap to represent the spectator view but you could do a lot of things like move it with Sequencer or control it via another player. Lot of fun in perspective. See Input Map for toggle button.

**FIXES: **

Motion controllers meshes not spawning if Guardian or Chaperone are not set [FIXED]
Now a default Guardian or Chaperone will be used if boundaries are not set correctly, so motioncontrollerbp will still be able to initialize

Debug line is not set correctly in multiplayer [FIXED]

(VIVE) Left and Right Grip buttons on Vive controllers are not mapped correctly [FIXED]
Left and Right Grip buttons on each Vive controllers are now mapped at the same function

(VERSION 4.17 with OCULUS) Guardian boundaries and corners not detected correctly [FIXED]

NavModifiersVolume (NavAreaNull) have inconsistent behaviour since Unreal 4.16[TEMPORARY FIX]
For now I ditched the NavMesh and teleport on static mesh, deny teleportation with floor angle and CustomNavArea NavModifierVolume, until Navigation is more stable in Unreal.

Reworked a bit the input map for consistency between Rift/Vive and to accommodate the fact that since 4.16 the left and right grip buttons on the Vive controllers are no longer differentiated.

What is the default input mapping for the Oculus Rift Touch Controllers?
· Both controllers
o Thumbstick directions / Controller orientation: Playground rotation before teleportation
o Index Trigger: Grab / Release
· Right Controller
o A Button: Teleport
o B Button: Widget Interaction
o Thumbstick Button: Chaperone/Guardian corners on/off
· Left Controller
o X Button: Teleport
o Y Button: Spectator Mode on/off (Unreal 4.17 only)
o Thumbstick Button: VR Keyboard on/off
**
What is the default input mapping for the Vive controllers?**
· Both controllers
o Trackpad directions / Controller orientation: Playground rotation before teleportation
o Trackpad release: Teleport
o Trigger: Grab / Release
· Right Controller
o Menu Button: Widget Interaction
o Left or Right Grip Button: Spectator Mode on/off (Unreal 4.17 only)
· Left Controller
o Menu Button: VR Keyboard on/off<
o Left or Right Grip Button: Chaperone/Guardian corners on/off

REPORTED BUGS / NOT BEEN ABLE TO REPRODUCE

*“**I’ve had the same teleportation direction issue through all of the versions of the template I’ve tested. For me the forward direction seems to be the “right->” direction of my playspace. Any luck reproducing the issue with teleport rotation on the vive? There are times it seems like I’m 90-180 degrees from where I’m supposed to end up and its really confusing sometimes. *I haven’t been able to figure it out myself »

I’ve tested the template with 4.16 and 4.17 version with a Vive; did not have any problem with playground orientation. Something to do with SteamVR setup?

“I’m still experiencing the laggy behaviour on the client side though. I wonder if I’m the only one? It’s really apparent; for example when I’m just waving my hand around, the hand movement is quite glitchy”

As already reported, I’ve had vastly different experiences concerning lag, mainly with Steam: depending on the hour and the network load, lag is sometimes unnoticeable, sometimes heavy. Barely noticeable in LAN. Slowest through Oculus Network with Avatars.
I’ve had also few reports on lagginess increasing with time. Again, I did not notice that but I would suggest to play with Project Settings / Garbage Collection. From what I’ve tested I don’t have mem leaks but it surely can be improved through better garbage collection.
**
KNOWN BUG WITHOUT A FIX (FOR NOW)**
No VOIP through Direct IP Connection: I’ve tried many tricks / solutions, nothing works (yet). Maybe using Advanced Session Plugin? I’ll try that. If someone has a trick for enabling VOIP through direct IP give me a shout.

Physics objects: It’s normal to experience client-side lag on physics objects (i.e. Interactive Objects). Many tricks exist to fix that problem; search for “multiplayer physics objects”. This would be an entire different topic and is not specifically related to VR.
**
Oculus Avatars Version with 4.16.3**: Remote Avatar is not controlled by Remote Player : Working on it.
**
BUGS WHICH WON’T BE FIXED**
Affecting ONLY Unreal 4.16.3**: UE-45908 Widget interaction debug line only shows when hitting a widget Unreal Engine Issues and Bug Tracker (UE-45908) - Bug has been resolved in 4.17**
**
BUGS REPORTED TO ANSWERHUB**
Affecting ONLY version 4.17, and ONLY Oculus Rift**:** UE-48260 Play area bounds are offset so that the player’s spawn position is at the center of the player start Unreal Engine Issues and Bug Tracker (UE-48260)

Affecting Unreal 4.16.3 and 4.17.0: UE-44947 Extra Sphere collision is shown when setting it to not be hidden in game for the MotioncontrollerBP
Unreal Engine Issues and Bug Tracker (UE-44947) You can resolve this by unchecking “Instanced Stereo” in Project Settings, but doing that could decrease VR performance.