Single/Multiplayer, Touch & Vive blueprint only Template

In the pdf:

*We recommend to do the following steps:

  1. Package for Windows-64 bits
  2. On the Oculus Developer Dashboard
    a. Create a Rift App
    b. Copy/ Paste App ID into GameEngine.ini RiftAppID=
    c. Upload package (new binary) to a channel (not Store Channel) via browser or Unreal Oculus Windows Platform Tool
    d. Set the Matchmaking Mode in the Developer Dashboard to:*

Questions:

  1. What is the *GameEngine.ini? *Where is it located?
  2. *Upload package (new binary) *What is meant by “new binary” here?

Hi !

First, thanks and congrat for this huge work you made for us.

Now, I’m wondering if this plugin can help me achieve my goal : make an oculus quest game that can be controlled by another player with a smartphone in local asymetric multiplayer.

I can’t find information about the use of an oculus quest for local multiplayer game…

Hey so, im not trying to compile anything. Just trying to use the template. Im very confused as to what I should be doing. When I try to create a new project with the template I get this:

Running D:/Epic Games Downloads/UE_4.22/Engine/Binaries/DotNET/UnrealBuildTool.exe Development Win64 -Project=“E:/UE4 Projects2/MyProject2/MyProject2.uproject” -TargetType=Editor -Progress -NoHotReloadFromIDE
Creating makefile for MyProject2Editor (no existing makefile)
ERROR: Could not find definition for module ‘ProteusAvatars’ (referenced via MyProject2.uproject -> ProteusAvatars.uplugin)

It mentions avatars. I dont know if its related to the oculus stuff, but im not interested.

same issues here. build errors out saying ‘UOvrAvatarManager’: is not a class or namespace name

i’m trying to build solely for steamvr/LAN, so any tips for removing this reference/requirement or simply getting it working would be appreciated.

Try this (I’ve just tried it today - 30.08.2019):

  1. Clone the repo as it is from : GitHub - ProteusVRpublic/ProteusTemplate: Single/Multiplayer VR Template for Touch/Vive Controllers and Avatars
  2. After unzipping it, right click on the .uproject and select “Switch Unreal Engine version…”, select from the drop-down menu the engine that you already (hopefully) have downloaded the source code for and have compiled (for example I’ve tested it out with this one: https://github.com/Oculus-VR/UnrealEngine/tree/oculus-4.22.2-release-1.38.0). This will generate a solution file for you, if you have Visual Studio (I have Visual Studio 2019)
  3. Navigate to this folder: Engine\Plugins\Runtime\Oculus] from your UE4 downloaded and compiled source code. Make a backup of the folder named “OculusAvatar” (just in case)
  4. Open the zip file named “OculusAvatar” in the () project root folder where the .uproject and .sln files are located. Unzip (drag-and-drop for example) the OculusAvatar folder in the folder mentioned in step 3. , so that you are replacing all the content.
  5. So far, so good. Open the .sln solution file in Visual Studio, find under “Games” the project, right click -> Build. Wait until it’s done. There shouldn’t be any errors.
  6. Now you will be ready to double-click the .uproject file and open the project in the Unreal Editor. Fingers crossed.

P.S. Be prepared to compile about 8k shaders if you are about to open the project for first time.

This is more detailed step-by-step version of the recent ’ comment:
@Kingslayer_j Important to replace the original OculusAvatar plugin with mine in runtime/plugins/oculus. If not you’ll get build errors for many reasons, since I refer to a few custom functions I put in OvrAvatar.cpp, and I use OvrAvatarManager as an FClass instead of an UObject.”

Hi!

I am not a programmer and I am having this issue while Building .

Can anyone please write what to do to fix this?

I re-run whole process and now get the errors in LNK2019 LNK1120 MSB3075

hdimit16, thank you for your help. i’m using visual studio 2017, by the way.

i’m hitting a simliar error to Vbaronins attatched here… any thoughts?

Has anybody got Multiplayer working on the Quest without API access? I could live with just local LAN multiplayer for now but it seems it is nearly impossible to get this going on the Quest.

Hey there, I followed your steps and Im able to launch the game on Quest. But I cant package it myself and sideload it to Quest.

I can package .apk successfully. (and .obb)
I can sideload it using adb intstall.
I can see it in unknown sources.
But when I launch it, I just shows three dots forever.

Is there a way to succesfully sideload .apk .obb?

Hi there, I am working on a VR multiplayer card game for university and I found this template to work with the oculus rift through steam.

I’ve become stuck now though. Firstly I could not see the launch button on the connect UI when I press the right thumbstick, I still see the back button and the refresh button but could not see the launch button, I changed the visibility from hidden to visible in the connect menu widget but then when I press the launch button nothing happens. I followed the steps in the pdf for setting up a steam connection as well.

Now I am wondering what I am missing and what to do next

I tried to open up a new template project and got this error:

Any help is appreciated.

Hi there,
I am following your instructions in the PDF to try to make this work. I am stuck on step 4 - 'replace \engine\plugins\runtime etc… with the files provided. What provided files? I’m told to download the Template later in the steps so I am very confused.

Thanks

I put the file of the project to my project as I overwrite it and closed unreal open back up the new project was there but I cant get the oculus subsystem the online functionality to work please help me with step by step what to do to make everything works fine in listen server for oculus

This is a good question. I am also trying to get multiple Quests to do multiplayer using LAN (we dont need Oculus Network) but when deploying to the Quest all I see is black…

Hi, I’ve tried to follow your steps after a 4.22.3 version gave me errors right before I wanted to make the changes in code that are suggested in the PDF. At this point I haven’t touched any code. Downloaded the UE4 version you linked, unzipped it, Setup.bat, replaced the OculusAvatar, GenerateProjectFiles.bat and opened UE4.sln. Once I open the OculusIdentityCallbackProxy.cpp I get the following errors. I’m using VS 2017 Community, is that a problem?

So, I guess I got a little too scared and ran off to Google because of the problem I had. The errors were there after my first build too, but it was just a big accumulation of the missing generated.h files and the bugs associated with it (like in the screenshot). I noticed that something must be wrong because a normal 4.22 source build had the same issue. I went through the whole setup process again (changing OculusAvatar + code changes) and simply build it once more, then restarted the editor and everything is fine now. I was able to build the Template correctly and start it up.

Not sure if you still check these forums. But i noticed that the VOIP via oculus store has some issues.
Rift: Host hears everybody. Clients dont hear eachother only host.
Quest: Hears nothing. Host on Rift hears the quest users.

Will continue to look for stuff in code. VOIP with the subsystem null version of your template works well even with spatialization. The Rift integration seems lacking behind a lot, so big kudos for your work so far!

Hi everybody. Sorry I’ve been on a million projects lately, no time to look after this.
I’ve made many changes, mainly in

  1. streamlining / optimizing the replications functions and serialization: 50% less methods!
  2. working on VOIP and
  3. Oculus subsystem.
    On the latter, we must admit one thing: Oculus subsystem (creating / starting a session, matchmaking) is fundamentally broken out-of-the-box. Mostly for delegates misuse, the blueprints found in Unreal barely / usually don’t workl. So what I’ve done I’ve integrated/slightly modified the methods found in the latest Oculus Platfowm SDK 1.43 to deal with the Oculus subsystem. And now creating / finding / matchmaking works flawlessly. Should have done that before. Also included is finding Oculus friends, and a VOIP redoing.

I also traced the path for 4 different platform on which you can use multiplayer: via Oculus Home, via LAN, via Steam, or via Oculus for Business (OfB) (with whom we use Photon Engine since it’s not compatible withe the Platform SDK).
Of course I won’t include Photon Engine plugin since it is found on the store, but it should integrate well with the template. Photon is good when using OfB platform, or if you want to avoid the 3 other platforms for some reasons.

Next version is using latest Unreal 4.23, Oculus-branch integration. I still have tests to do in the following days, and test mic with Quest + Expressive Avatars, although Expressive Avatars are not recommended on Quest due to its high resources usage.

I’ll also check at questions. Back in a few days. Thanks!

Sounds really amazing. Let me know if you need help with testing.

@jinzay Done more tests since the last 2 days. Everything works right. Worked on fixing VOIP on LAN and Oculus. Now I need to streamline everything (clean code).
I’m personnaly amazed that it now works flawlessly in all situations (did not test stand-alone server).