The Oculus Platform supports several features related to security, community, revenue, and engagement, including matchmaking, in-app purchase, entitlement checking, VoIP, cloudsaves, and more.
Unreal developers may access Oculus Platform features in two ways:
Some Platform features support Blueprints, such as Entitlement Checking. For more information and instructions, see the Platform section of Blueprints
For instructions on using the Oculus Platform Plugin for Unreal, please see our Platform SDK documentation and the readme included in the Unreal folder of the Platform SDK archive (available from our Unreal Downloads page).
Several Oculus Platform features may be accessed through Unreal’s Online Subsystems (OSS) interface in Unreal Engine 4.12 and 4.13. For more information on available UE4 versions and compatibility, see our Unreal Engine.
For each supported feature, only a subset of functionality is exposed by the Online Subsystems interface. Developers who wish to use Platform features not available through Online Subsystems should code against the native C headers located in Engine\Source\ThirdParty\Oculus\LibOVRPlatform and include them in their build.
The following features are available through the Online Subsystems.
Online Subsystem Interface
To enable the OSS plugin, select Edit > Plugin Settings > Built-In > Online Platform > Online Subsystem Oculus, and check Enabled.
To access Oculus Platform features through Online Subsystems, you must adjust your defaultEngine.ini file to use Oculus:
[OnlineSubsystem] DefaultPlatformService=Oculus [OnlineSubsystemOculus] bEnabled=true OculusAppId=<app_id_here>
For more information on Unreal Subsystems, see Epic’s Online Subsystems Overview.
Entitlement checking may be used to protect apps from unauthorized distribution. Unreal developers using Blueprints can use the Verify Entitlements Blueprint under Oculus > Entitlement. For more information and instructions, see the Platform section of Blueprints and Entitlements: App Authorizations in our Platform guide.
Applications should always have entitlement checks enabled for submissions to the Oculus store.
Our Online Subsystems implementation of VoIP extends the Unreal class IOnlineVoice. See Unreal’s IOnlineVoice reference for more information.
To enable VoIP in DefaultEngine.ini:
[OnlineSubsystem] DefaultPlatformService=Oculus bHasVoiceEnabled=true [Voice] bEnabled=true
To connect to someone else:
To disconnect from someone:
To see if a remote user is talking:
To unmute yourself:
To mute yourself:
Our Online Subsystem implementation of P2P extends the Unreal class UNetDriver. See Unreal's UNetDriver reference for more information.
To enable P2P in DefaultEngine.ini:
[/Script/Engine.GameEngine] +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemOculus.OculusNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver") [/Script/OnlineSubsystemOculus.OculusNetDriver] NetConnectionClassName="OnlineSubsystemOculus.OculusNetConnection"
To act as the host of a game, open the map as a listen server.
To act as the client of the game, open a connection to <oculus_id_of_host>.oculus.