Single/Multiplayer, Touch & Vive blueprint only Template

First, thank you so much for sharing your work :slight_smile:
I have a major issue, meaning a crash in multiplayers…
Using version 4.0, no problem to package, Using SteamVR( no beta) , HTC vive, on LAN version (without steam login on any machine)
You will find the log on client side…I spend hours…but no clue, as i am a newbie :slight_smile: help would be greatly appreciate :slight_smile:

[2018.11.20-08.50.16:987][638]LogScript: Warning: Script call stack:
Function /Game/Proteus_Multi/MotionControllerBP.MotionControllerBP_C:UpdateAnim
Function /Game/Proteus_Multi/MotionControllerBP.MotionControllerBP_C:ExecuteUbergraph_MotionControllerBP

[2018.11.20-08.50.16:987][638]LogScript: Warning: Attempted to assign to None
MotionControllerBP_C /Game/Proteus_Multi/MultiMap01.MultiMap01:PersistentLevel.MotionControllerBP_C_1
Function /Game/Proteus_Multi/MotionControllerBP.MotionControllerBP_C:ExecuteUbergraph_MotionControllerBP:2344
[2018.11.20-08.50.16:987][638]LogScript: Warning: Script call stack:
Function /Game/Proteus_Multi/MotionControllerBP.MotionControllerBP_C:UpdateAnim
Function /Game/Proteus_Multi/MotionControllerBP.MotionControllerBP_C:ExecuteUbergraph_MotionControllerBP

[2018.11.20-08.50.16:987][638]LogScript: Warning: Accessed None trying to read property AnimBP_Hand
MotionControllerBP_C /Game/Proteus_Multi/MultiMap01.MultiMap01:PersistentLevel.MotionControllerBP_C_1
Function /Game/Proteus_Multi/MotionControllerBP.MotionControllerBP_C:ExecuteUbergraph_MotionControllerBP:2360
[2018.11.20-08.50.16:987][638]LogScript: Warning: Script call stack:
Function /Game/Proteus_Multi/MotionControllerBP.MotionControllerBP_C:UpdateAnim
Function /Game/Proteus_Multi/MotionControllerBP.MotionControllerBP_C:ExecuteUbergraph_MotionControllerBP

[2018.11.20-08.50.16:987][638]LogScript: Warning: Attempted to assign to None

more and more…and THEN !

[2018.11.20-08.51.18:713][137]LogNet: Warning: UIpNetDriver::ProcessRemoteFunction: No owning connection for actor AvatarMaster_C_0. Function Tick Teleport Rotation will not be processed.
[2018.11.20-08.51.18:724][138]LogNet: Warning: UIpNetDriver::ProcessRemoteFunction: No owning connection for actor AvatarMaster_C_0. Function Tick Teleport Rotation will not be processed.
[2018.11.20-08.51.18:736][139]LogNet: Warning: UIpNetDriver::ProcessRemoteFunction: No owning connection for actor AvatarMaster_C_0. Function Tick Teleport Rotation will not be processed.
[2018.11.20-08.51.18:747][140]LogNet: Warning: UIpNetDriver::ProcessRemoteFunction: No owning connection for actor AvatarMaster_C_0. Function Tick Teleport Rotation will not be processed.
[2018.11.20-08.51.18:758][141]LogNet: Warning: UIpNetDriver::ProcessRemoteFunction: No owning connection for actor AvatarMaster_C_0. Function Tick Teleport Rotation will not be processed.
[2018.11.20-08.51.18:758][141]LogNetSerialization: Error: FBitWriter overflowed! (WriteLen: -1, Remaining: 8110, Max: 8110)
[2018.11.20-08.51.18:758][141]LogNet: Warning: Closing connection. Can’t send function ‘Hands Position’ on ‘AvatarMaster_C_1’: Reliable buffer overflow. FieldCache->FieldNetIndex: 25 Max 175. Ch MaxPacket: 1024.
[2018.11.20-08.51.18:758][141]LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: 192.168.0.150:7777, Name: IpConnection_0, Driver: GameNetDriver IpNetDriver_0, IsServer: NO, PC: MultiPC_C_0, Owner: MultiPC_C_0, UniqueId: BACKPACK-4FE479E94EE26DD772D56A9DCD0B75A1, Channels: 42, Time: 2018.11.20-08.51.18
[2018.11.20-08.51.18:758][141]LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 192.168.0.150:7777, Name: IpConnection_0, Driver: GameNetDriver IpNetDriver_0, IsServer: NO, PC: MultiPC_C_0, Owner: MultiPC_C_0, UniqueId: BACKPACK-4FE479E94EE26DD772D56A9DCD0B75A1
[2018.11.20-08.51.18:769][142]LogNet: Warning: Network Failure: GameNetDriver[ConnectionLost]: Your connection to the host has been lost.
[2018.11.20-08.51.18:769][142]LogNet: NetworkFailure: ConnectionLost, Error: ‘Your connection to the host has been lost.’

An overflow and bye bye :slight_smile:

Hi guys. Just a quick recap. I’m presently working on a new version of the template. This one should be faster than precedent version, simply because I’ll replicate things via a small bit of C++ code, thus eliminating the main bottleneck of the template (was replicating on tick in bp). Because I’m a developer and a university professor, I like to explain things. So the little bits of code will be thoroughly explained.

I’m working now on the 4.20.3-Oculus branch, as per suggestion of Mike Howard, the Oculus Avatar product Manager at Oculus. Major problems right now with version 4.21 and Avatars. My next template will be targeted for Oculus Rift, Go & Quest. While we have here all kind of VR stuff (Magic Leap, all versions Valve knuckles, etc), I feel best served by Oculus, and all our projects right now are whether Go, Quest, or Magic Leap oriented.

So I put aside a little bit the Steam and Magic Leap templates, and concentrate on Oculus-oriented products.

The next template will incorporate (in part) the now-integrated Oculus-Avatar plugin; anyway honestly it does not bring much to the already available Oculus-Avatars SDK (latest v1.31).

Avatars on Android in Unreal: As per Mike, “not ready for prime time”; it works kinda, but needs more polishing.

So next template, everything multiplayer, very much faster and simpler, will integrate Oculus Avatars (for Rift) and maybe, maybe for Android (Go, Quest).

As I consider myself an my team, pioneers in VR, we like to bring an easy-to-use and understand template, even for the newbies.

As Bon Jovi said, keep the faith!

Hi this is a really good news and I Will wait for the new template as I’m still having an issue with the replicated Oculus Avatar.
Thanks for your help .

Does this mean you will drop for the Vive? (We are currently using Rift and Vive headsets simultaneously in our VR projects using your template.)

so i’m having some issues with making a trace. in the standard vr template that comes with UE4 i made a trace function that spawned a marker at the end of the trace, it was working fine but i wnated my project to have multiplayer so i switched to this template and now recreating the trace function it now always spawns my marker in the hand instead of the end of the trace. any ideas as to why this is happening.

I thought I’d share a quick fix in AvatarMaster for a problem that arose in the transition to Unreal Engine version 4.21.1. There’s a an “add component” which originally added a boundary component from the Oculus Library. References to this (play area points and visibility setting) must be replaced with the new Guardian blueprint nodes which can be found in Oculus Library>Guardian… Hope that helps anyone who encounters this.

I’ve just learned about this template and planned to use it for my Vive project, I’m now a little hesitant though after reading this comment. Will SteamVR Vive network / hardware still be supported in future updates or is the long term goal to focus on Oculus?

I’ve found another bug in the template.
Rift = host, Vive = client: when teleporting the room boundaries are not drawn for the Vive, only the arrow and the dot.
Rift = client, Vive = host: no problems, room boundaries are drawn on the Rift and the Vive when teleporting.

Does anyone have a solution for the teleportation boundaries / arrow / dot remaining on screen sometimes? These stuck teleportation boxes/arrows are only visible at the client side, not at the host.

Thanks for the solutions you’ve mentioned, well done.

Can anyone help me with the remaining problems please? Also calling (please).

Hey Awesome template! Thank you for releasing it to the community!

I’m looking at using it with a 3rd party tracking system that uses the Oculus’ rotation and the 3rd party system’s tracking for translation using active IR clusters attached to the HMD. In order to do this, the Oculus and SteamVR plugins need to be disabled in the editor for the 3rd party plugin to work. If I use Direct IP and strip out all the Vive + WMR related nodes from all the blue prints do you think this template would still work?

Also, somewhat related, do you have recommendations on a way to expose the touch controller inputs from LibOVR? I’d like to see if I can attach active clusters to the touch controllers, then remap the Touch inputs using AutoHotKey or dxACE to keyboard inputs that can be fed back into the engine since the Oculus plugin will be disabled and I can still get translation and rotation information based on the IR clusters. When I was poking through the blueprints I figured I could remap the MotionController inputs accordingly.

When the teleportation boundaries, arrow and/or dot remain on screen after teleporting (client only), this message is logged multiple times in Saved\Logs:

LogNet: Warning: UNetDriver::ProcessRemoteFunction: No owning connection for actor AvatarMaster_C_0. Function Tick Teleport Rotation will not be processed.

Does anyone have solution?

so im almost done and starting to package the project. everything test fine but then when i compile and load i get some frame rate issues and i cant load my level. when i first boot it up if i try to load one of the default levels it works just fine but when i try to load my level the screen fades out and i can barely see at the top of my vision failed to load session. i see in the forums were similar issues were reported but im not seeing a fix. any help would be appreciated.

@iNaDuMa Try to lower the vr.pixeldensity you can refer to this article about how to lower the quality Significant Changes Coming To VR Resolution Settings in 4.19 - Unreal Engine

Check your Steam settings in your project. Make sure Steam is running and if you use a Vive: check that Steam Home isn’t running.

thanks for you replies

i tried this and it didn’t change much but i may be describing the issue wrong. there isn’t really a frame rate issue, as i look around everything is clear except for the avatar and teleportaion box, they are glitchy as you move them around.

after changing some setting and troubleshooting i can now load the multimap01 that came with the template, but if i try to load the level i built, then it just loads the mainmenu level over again and if i try to load anything after that it says cannot create session.

i am using an oculus and i haven’t had anyone try to connect to me im just trying to start a session with the intention of testing joining at a later date. i am still kinda a novice at these things been trying to teach myself over the last year and these are the only blockades in completing my demo. once again any help is greatly appreciated

@iNaDuMa](https://forums.unrealengine.com/member/412864-inaduma) Double check the settings mentioned on page 3 in the PDF.

** VR Template 5.0**
First release: March 2016 (under the name “SteamVR Template”
Latest Version 5.0 (under the name " VR Template")
Latest release January 25, 2019

What can I do with that, that I cannot do with the “VR Template” in Unreal?

Well, rapidly: It’s single or multiplayer (LAN or Oculus Home); It uses Oculus Avatars (or not); It uses voice over IP; full of nice features fully using Oculus functions; compatible Go/Quest/Rift; minimum use of C++ (but still some, since some methods not possible only in blueprints); hey, we were the first to propose a template back in 2016!

FOR NOOBS: This is super simple. Even if you think Visual Studio is the name of a VFX/Hollywood startup somewhere around LA with people working in open spaces and flip-flops, it requires few manipulations to set up; I could add few instructions how-to on demand.
This template consists of virtual reality compatible pawn and settings, ready to drop in your single or multiplayer app. So what you can do is choose the features you want, and build yourself/modify a pawn based on the functionalities you need.

Download it at GitHub - ProteusVRpublic/ProteusTemplate: Single/Multiplayer VR Template for Touch/Vive Controllers and Avatars

Compatible with the following Unreal Engine versions:
Unreal Engine 4.20*, Oculus-branch, latest commit e8c8be1 (Nov 14, 2018), found at https://github.com/Oculus-VR/UnrealEngine/tree/4.20
Unreal Engine 4.21*, Oculus-branch, latest commit 5b6d633 (Dec 20, 2018), found at https://github.com/Oculus-VR/UnrealEngine

** minor changes to the engine possibly / mandatory required*

What’s new in version 5.0

  • Entirely redesigned

  • More stable

  • Use latest Oculus implementations (splash screen, play area limits, smart use of camera fade, etc).

  • Unreal 4.20 & 4.21

  • Uses Oculus SDK 1.32 & Oculus Avatar SDK 1.31

  • Single & Multiplayer Oculus Avatars

  • Compatible Oculus Rift & Oculus Go, Oculus Quest-ready

Q&A

Why did you not use the launcher version of UE4?

  • Because the launcher version is always behind the Oculus branch for using latest Oculus SDK implementations;

  • Because it’s always better to use UE4 source-based, to be able to make some changes to the engine;

  • Because the Oculus-branch version has some nice features, i.e. the Project Settings Menus

Where are the Windows MR / SteamVR functions?
They will be back, but we targeted Oculus Go / Rift / Quest for this release.

You don’t use the integrated Oculus Avatar plugin?
You are such a detective. No. Because the official one is only single player, and we brought all sort of improvement to it, including multiplayer. So we packaged the improved/modified one under “ProteusAvatar plugin”. We take the engagement to keep it updated following Unreal versions and Oculus SDKs.

I would like to log my users through Oculus Home, but I don’t want to use Browse Matchmaking!
Browse matchmaking is the only way to match players while using blueprints, as of Unreal 4.21. We’ll bring more ways soon through code (alternatively, there are C++ methods posted in the forums doing that).

**My project doesn’t work / crashes / doesn’t compile! Your template is **!
There can be a zillion reasons why your project doesn’t compile / crashes. Are you using the latest version of Visual Studio? Correct UE4 version? Windows 10, updated? Is it cold outside? etc. We just want to be sure it’s not our template that is crashing your game. Passed that, we’re of limited help since, as I said, there could be a zillion reasons why your game does not work.

As the world is not perfect, there’s still bugs!!! They are:

Oculus Rift: There is no voice vizualisation with the Avatars!

  • No Voice vizualisation for Oculus Avatars; should be updated soon by Oculus (FUTURE FEATURE)

Oculus Rift, Go, Quest : You don’t use Stereo Layers?

  • We are not using Stereo Layers, because they cannot be destroyed !!! (BUG)

Oculus Go / Quest

  • Occlusion culling doesn’t work!!!

    • Yes (BUG)

  • Be gentle on the tick events, as you can easily crash the device

  • Oculus Go cannot use Render Targets (i.e. the mirror)

    • That’s life.

  • Oculus Avatars

    • FOR NOW, ONLY THE BLANK AVATAR IS LOADED

      • Yes (FUTURE FEATURE)

    • INPUTS NOT REGISTERED WITH THE GO REMOTE

      • Yes (FUTURE FEATURE)

    • USE OPENGL ES3.1 TO COMPILE MOBILE AVATAR MATERIALS

What’s coming next in the next version:

  • Oculus Avatars (Rift + Go): Set Custom hand poses / use hand sockets

  • Oculus Avatars (Rift): See Avatar head in mirror

  • Oculus Avatars (Go/Quest): Load correct mesh

And after that…

  • Oculus Avatars: Compatibility with SteamVR, Vive Controllers and Vive Knuckles

  • General template: Blueprints for Mixed-Reality & Oculus 3D Sound

Questions?
Don’t hesitate to contact me [EMAIL=“mathieu.beaulieu-vr.com”]mathieu.beaulieu-vr.com .

Hi there.

Is there a time frame for SteamVR / Windows MR ?

Right now we cannot work with Oculus because the resolution is a joke, we need at least Vive Pro and / or Samsung Odissey resolution for our apps.

Cheers and thanks for this!

@Juangea

Well, SteamVR can be re-introduced pretty easily. It’s just that I concentrated on Oculus and Avatars, but give me a week and I’ll update the template with it. :slight_smile: Time to dust off the Vive!

Thanks a lot!

, I am working on my VR game: My VR Escape Room - YouTube , but would like to pivot to more of a multiplayer experience. However, I want to give the option to play either in “PC mode” (mouse and keyboard) or “VR mode” (Headset and motion controllers) individually, so there can be some using VR and some using keyboard and mouse in the same game… Most of my friends don’t have an oculus, and I feel like that is the biggest problem with VR at the moment: Not enough people have headsets or friends with headsets to play with. If I can include people without a headset to play with those with a headset, that would be awesome! I am wondering if there is any for that.