Single/Multiplayer, Touch & Vive blueprint only Template

**Version 6.1

Latest commit July 17, 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, Oculus Home or Steam); It uses Oculus Avatars (or not); It uses voice over IP (VOIP); full of nice features fully using Oculus functions; compatible Oculus Go/Quest/Rift/S and HTC Vive; 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.

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.22*, latest commit e28248e (June 7, 2019), found at https://github.com/Oculus-VR/UnrealEngine
** minor changes to the engine possibly / mandatory required*

What’s new in version 6.1

  • Unreal 4.22.2
  • HTC Vive compatible
  • HTC Vive camera access
  • Thoroughly tested with Oculus Quest
  • Highlight selected object compatible with Oculus Quest
  • Small dot selector on widgets
  • Possible to play Stereo CubeMap or Over-Under Images or Videos

Compatibility

  • Oculus Plugin 1.38
  • Oculus Platform SDK 1.32
  • Oculus Audio SDK 1.34
  • Oculus Avatar SDK 1.36
  • Steam Platform 1.39

COMPILING UNREAL ENGINE FROM SOURCE

  1. Download the Unreal Engine .zip file from github (or sync through github app)
  2. Unzip
  3. Setup.bat
  4. Replace \Engine\Plugins\Runtime\Oculus\OculusAvatar with the files provided
  5. GenerateProjectFiles.bat
  6. Open UE4.sln with Visual Studio
  7. Make the modifications needed to the engine if needed (SEE NEXT PAGE)
  8. Build UE4
  9. Build UnrealLightmass

then

  1. Download the latest Template .zip from github (or sync through github app)
  2. Right-mouse click on .uproject, Switch Unreal Engine Version, for correct engine version
    1. Open .sln with Visual Studio
  3. Build
  4. Now ready to open .uproject

DO I NEED TO MAKE MODIFICATIONS TO THE ENGINE?

  1. I want to develop for Oculus Quest and/or Go

change
\Engine\Plugins\Online\OnlineSubsystemOculus\Source\Private\OculusIdentityCallbackProxy.cpp

Line 26
from:

DelegateHandle = Online::GetIdentityInterface()->AddOnLoginCompleteDelegate_Handle(

to:

DelegateHandle = OculusIdentityInterface->AddOnLoginCompleteDelegate_Handle(

Reference: https://github.com/Oculus-VR/UnrealEngine/pull/26

  • I want to use Oculus Avatars on the Quest, but I don’t have access to Quest Platform API

change

\Engine\Plugins\Runtime\Oculus\OculusVR\Source\OculusHMD\OculusMobile_APL.xml

Line 223

from:

com.oculus.svclib.OVREntitlementChecker.doAutomatedCheck(this);

to:

<!-- com.oculus.svclib.OVREntitlementChecker.doAutomatedCheck(this); –>

  • I want to nativize assets without errors when compiling

change
\Engine\Source\Runtime\Engine\Classes\GameFramework\PlayerController.h

line 1053 private to public, because ‘PlayDynamicForceFeedback’ is a private member of ‘APlayerController’, for reasons unknown

Reference: PlayDynamicForceFeedback node in 4.20 fails to cook - Blueprint - Epic Developer Community Forums

REST OF DOCUMENTATION FOUND IN PDF FILE.