Total noob to Unreal+Oculus Quest… In both UE4.24 and UE4.26, I’ve been able to build a blank app and run it on my headset, so all of my basic setups seem to work. But I’ve jumped through all of the configuration and plugin hoops that I can find, in both UE24.3 and UE26.2, and under no conditions can I locate the VerifyEntitlement node. What is going on here?
you probably need to include the plugin ‘online subsystem oculus’
Yup, did that; also edited the config files to add the project ID number. I’ve gone through all of the documentation pages as well as the video tutorials… and still don’t get the blueprint node. As I’m scouring it all again today, I did notice that I don’t have the AndroidEngine.ini file to add the OnlineSubsystem to, so once I’m hoping it’s that…
Edit: I did in fact edit the AndroidEngine.ini…
also, in general, I personally had a lot of problems with 4.26 and VR projects, so I currently use 4.25 and it seems a lot of others do as well
I was using 4.24 because it matched the tutorials better (and 4.26 because hey, it was there) … good to know 4.26 might not be a good choice.
Since there doesn’t seem to be any one place where the setup for Oculus Quest VR resides, I collected the bits I could find into a checklist:
Create a project
Games, Template = Blank
- Blueprint
- Mobile / Tablet
- Scalable 3D or 2D
- No Starter Content
Inside the project
Edit → Plugins
- OculusVR Plugin enabled
- Online Subsystem Oculus enabled
- Oculus Audio enabled
- Online Subsystem Steam disabled
→ Online Platform
- Disable all “Online Subsystem” that aren’t Oculus (including Utils)
Save the blank level
Edit → Project Settings
-
Description: Project Name, etc
-
Editor Startup Map to saved map
-
Game Default Map to saved map
-
Supported Platforms to Android, Mac
-
Default Touch Interface, Clear (sets to None)
-
Forward shading enabled
-
Motion Blur disabled
-
Instanced Stereo enabled
-
Maximum number of CSM cascades to 2
-
Anti-aliasing method to MSAA
-
Mobile MSAA to 4x MSAA
-
Mobile HDR disabled
-
Mobile MultiView enabled
-
Mobile MultiView Direct enabled
-
Smooth Framerate disabled
-
Fixed Frame Rate disabled
-
Custom TimeStep None
-
Minimum SDK Version 23
-
Target SDK Version 25
-
Enable FullScreen Immersive on KitKat and above to True
-
Package for Oculus Mobile Devices + = Select Oculus Quest (Quest 2 if available, not always there)
-
Start in VR optionally enabled
Edit Configuration
Under the project Config folder (Documents → Unreal Projects → → Config) edit or create a DefaultEngine.ini and add:
[OnlineSubsystem]
DefaultPlatformService=Oculus
[OnlineSubsystemOculus]
bEnabled=true
OculusAppId=[app_id_here]
Additionally, under Users → Shared → Epic Games → UI_xxx → Engine → Config add this to AndroidEngine.ini:
[OnlineSubsystem]
DefaultPlatformService=Oculus
nice, ya I haven’t seen a list either so yours should be pinned up somewhere
Since I’m a noob to this system I’m not sure it’s correct or complete yet! But yeah… someone should grab it, verify it, and put it somewhere easy to find
Updated with more stuff - it works in 2.5 and 2.6, but not 5.0 (But that’s just early access, so I didn’t expect it to).
Basic Setup for Oculus Quest 2 and UE 2.6
As of 16 June 2021
Install Android Studio
- Android studio 4.0
- SDK 29
- NDK 21
Create a project
Games, Template = Blank
- Blueprint
- Mobile / Tablet
- Scalable 3D or 2D
- No Starter Content
Inside the project
Edit → Plugins
- OculusVR Plugin enabled
- Online Subsystem Oculus enabled
- Oculus Audio enabled
- Disable all “Online Subsystem” that aren’t Oculus (Keep Utils)
Save the blank level
Edit → Project Settings
- Description: Project Name, etc
- Editor Startup Map to saved map
- Game Default Map to saved map
- Supported Platforms to Android, Mac
- Default Touch Interface, Clear (sets to None)
- Forward shading enabled
- Motion Blur disabled
- Instanced Stereo enabled
- Maximum number of CSM cascades to 2
- Anti-aliasing method to MSAA
- Mobile MSAA to 4x MSAA
- Mobile HDR disabled
- Mobile MultiView enabled
- (Mobile MultiView Direct enabled)
- Smooth Framerate disabled
- Fixed Frame Rate disabled
- Custom TimeStep None
- → Platforms-Android → APK Packaging, “Configure Now”
- Accept “Accept SDK License” if needed
- Support Vulkan enabled
- Minimum SDK Version 29
- Target SDK Version 29
- SDK API Level matchndk
- NDK API Level android-29
- Enable FullScreen Immersive on KitKat and above to True
- Package for Oculus Mobile Devices +
- Select Oculus Quest 2
- Start in VR optionally enabled
Save-all and exit, to edit configuration
Edit Configuration
Under the project Config folder (Documents → Unreal Projects → → Config) edit or create a DefaultEngine.ini and add:
[OnlineSubsystem]
DefaultPlatformService=Oculus
[OnlineSubsystemOculus]
bEnabled=true
OculusAppId=[app_id_here]
Additionally, under Users → Shared → Epic Games → UI_xxx → Engine → Config add this to AndroidEngine.ini:
[OnlineSubsystem]
DefaultPlatformService=Oculus
Configure Pawn/HMD
I’m not sure about these yet, but they look interesting:
- Create a new Blueprint pawn
- Under the Default Scene Root in that blueprint, add another scene and name it VRCameraRoot (for example)
- Under VRCameraRoot, add a camera and name it VRCamera (for example)
- Each of these should be scaled to 1 and set to 0,0,0 in their respective details windows
- Make sure “Lock to Hmd” is checked under Camera Options in the VRCamera
- Add a Set Tracking Origin in the pawn’s event graph, make sure the Origin is “Floor Level” and have it called from Event BeginPlay
- When you place the pawn, make sure you place it at height “0” (or whatever floor height you’re using)
good stuff, liked and bookmarked