Oculus APIs to Power Social Engagement and Connection

Want to enable more ways for your audience to compete, create, or make new friends all from within your app? By implementing the following set of Social APIs, you can maximize social connection and engagement all while decreasing much of the friction associated with social VR.

See below for an overview of each of these features, use case examples, and relevant technical documentation for you to get started.

Foundational APIs for social engagement and coordination

By implementing Destinations, Rich Presence, and Deep Linking, with minimal extra effort, you can help your audience become even more connected inside and outside of your app. These enable the following:

  • Remotely launch your app with a unique URL and share it across channels such as the Oculus mobile app, Discord, Twitter, Facebook, your website, newsletter, or any other channel/surface that enables URL hyperlinking.

  • Help your audience connect with new people who are also interested in playing your app. This opportunity to connect users is also featured outside of the app, using our Public Party finder.

  • Enable users to launch into your app simultaneously as a group from Parties or Messenger.

  • Offer the ability to invite friends into the experience, or join people who are already enjoying the experience.

  • Once a score is overtaken, a user can receive a notification on their phone and the Scoreboards panel within their Oculus Home Feed. From here, they can review the leaderboard or challenge menu before launching into your app to try and reclaim their top position.

These are all possible with the Platform SDK, and we’re continuing to develop new developer products and features that expand on these use cases. See below for a more detailed overview of these Social APIs, and if you’re looking to get started, check out the following Rich Presence and Destinations technical documentation for Unity, Unreal, and Native Development.

Destinations

A set of locations, (for example, a specific level) or game modes that you define, enabling these to be surfaced and shared from inside the headset, the Oculus mobile app, your product details page, the Parties page, Challenges page, Facebook, and oculus.com.

With each Destination, you can include the following context to improve the end user experience:

  • Destination title
  • Text description
  • Rich media
  • Minimum and maximum capacity for a group to launch together (Optional)

The text description and destination title can be translated to fit each of the languages you support, while the capacity numbers help groups of players in a party browse and discover what activities are available without having to first launch the app.

Rich Presence

By setting Rich Presence often, you help users share where they are in your app and their current status so that others can jump into the experience. This data is showcased across our platform, powering our invite and join systems, user recommendations as to the places in VR that might be popular in a given moment, as well as invite functionality including metadata for added detail about your app or that particular instance.

You can set 8 functions to the The RichPresenceOptions struct, but ultimately these help your audience to understand the following:

  • The destination in your app that the user is experiencing.
  • What are they doing (playing multiplayer, single player, etc).
  • When their current activity will end.

Deep Linking API

The Deep Linking API is used by your app to confirm the destination or instance a user intends to visit when they launch your app. This could be a specific leaderboard level, or a room with a group of friends. As we direct people to your app from the platform, the Deep LInking API is how you can ensure they get to where they were expecting to be.

The app might also retrieve an update via the Deep LInking API during a session, for example, when a user launches to a different location within your app from the system UI overlay.

There are three types of scenarios we recommend for maximum user engagement:

  • Join a User: In headset, a user taps Go To on another user from the Friends List, Party panel, or Home feed.
  • Direct Launch: Your level/instance title shows up in popular destinations based on a large number of people. A user accesses the destination from a deep link URL and remotely launches the app.
  • Group Launch: A party of two users choose a specific level from a list of possible places, both users tap **Launch, **and are then placed within that instance of your app.

Deep Linkable URLs and Remote Launch

Once the Deep Linking API is implemented, you can leverage the end to end functionality of remote launch, which allows a URL to launch someone directly to your experience in VR from a mobile app or web browser on their phone or laptop. Users can invite others and share these URLs to help others get to their location. As a developer you can also use them for marketing and coordinating VR events.

Each destination has its own URL, visible in the developer dashboard. Simply click the ellipses and Go To Destination within the developer dashboard to generate the URL and start sharing the destination. See the Destinations and Rich Presence documentation (Unity, Unreal, and Native) under the section labeled Manage and Share Destinations for more information.

Edit destination section of Oculus Developer Dashboard

More developer features to add social engagement to your app

Our engagement systems are designed to create even more reasons for people to return to VR and connect with others, whether through community competitions, high score sharing, or reinforcing the feeling of accomplishment. These are all possible when you implement these features, many of which integrate directly with deep linkable destinations and rich presence.

User Identity and Friends

The User object and related APIs ensure that the right data is shared to enable a social experience. These features help you understand more about the user, their connections, and recent encounters within your app, enabling numerous multiplayer/social interactions.

Users, Friends, and Relationship documentation: Unity, Unreal, and Native development.

Leaderboard Engagement Systems + Notifications

By defining leaderboards you not only enable a new method of competition amongst your audience, but also a new way for them to stay engaged with notifications, alerting the user when a friend has overtaken the top score.

User-facing example of a leaderboard

Leaderboards can also take advantage of the deep linking framework and destinations. If deep linking, and destinations are implemented, when the user receives a notification on the Oculus mobile app, or views an update within the home feed (example screenshot below), they can preview the exact leaderboard level before launching into your experience to try and reclaim the top position. Users can even launch your app remotely from within the Oculus mobile app.

User home feed with recent score updates

If your app is cross-platform, you can also take advantage of the new Federated User Model, making your developer challenges and global leaderboards cross platform compatible. Note: user challenges exist at the Oculus platform level, so these do not leverage the Federated User Model at this time.

Leaderboards documentation: Unity, Unreal, and Native development.

Challenges: User or Developer Generated

Challenges are time bound, personal leaderboards that can be shared with a specific group of friends, a community, or made public with a shareable URL. If the app integrates leaderboards with deep linking, users can automatically create challenges on top of that leaderboard with no added effort from you and your team. Updates to the leaderboard will also update the challenge, and we’ve updated the Oculus Scoreboard app, feed and notifications to highlight these challenges and increase the relevance of competitive activity in your app.

Developer challenges example from Beat Saber

For even more opportunities to connect your audience and promote competition or collaboration, create custom challenges and tournaments managed by you and your team with Developer Challenges. Whether it’s enabling your community to actually challenge developers that are a part of your organization or a community influencer, combined with unique URLs, notifications, and promotion through your many channels, there are numerous ways that this feature can help drive elevated social engagement.

In addition to surfacing these developer challenges at the system level, they can also be integrated directly into your app, providing a new and engaging experience for users who are looking for guidance on what to do next. The daily or weekly challenge is a great way to provide more structure for users who are returning to your app, while taking advantage of the user facing channels in our VR and mobile apps that will remind users to come back and compete.

See below for an example challenge screen from Synth Riders by Kluge Interactive.

Example UI screen for challenge within Synth Riders VR application.

Challenges documentation: Unity, Unreal, and Native development.

Achievements

Define platform achievements with a number of flexible options, including (but not limited to) finishing a level, acquiring a number of specific resources, and defeating a boss within a specific timeframe.

These achievements are displayed within the user’s Oculus profile, across the Oculus mobile app, and VR surfaces. They are a great way to give users a sense of accomplishment, a badge of honor to show their community, and a new set of goals to stay engaged with your app.

Achievements documentation: Unity, Unreal, and Native development.

Events

Increase your concurrent user base and monthly active users by offering time-specific events hosted within your app. This can include a competitive tournament, media viewing party, or a social gathering.

To create a new event simply enter the required fields within the developer dashboard. You’re also able to add a 2D trailer for your event to be displayed in the Oculus Explore section of the user’s home feed.

Events documentation: Unity, Unreal, and Native development.

Developer Posts

With Developer Posts, update your audience about the latest challenge, tournament, leaderboard, app news, DLC, and more. This content can be featured within your product description page (PDP), as well as in the user’s home feed, while Developer Post Analytics are also available for you to inform future updates.

Creating and publishing developer posts is as easy as entering text and image content within the developer dashboard, while this feature can also include a Deep Link URL to help streamline the process from the feed into your app.

Developer Posts documentation: Unity, Unreal, and Native development.

Facebook Connect: What’s new w/ Oculus Social APIs + Avatars 2.0

In the following Facebook Connect presentation, our team provides a walkthrough of the Social APIs outlined above, as well as an overview of updates included with the upcoming release of Avatars 2.0.

For more insights and presentations from Facebook Connect, check out the full Facebook Connect YouTube playlist.

More VR development and design documentation to help with your next app

Check out the guides below for more information on how to improve the design, planning, development, and launch of your next VR app!

Maximize Efficiency and Minimize Iteration Time: Learn the many best practices and considerations for pre-project planning, automation, testing, and performance optimization, along with a series of learnings specific to planning and testing your next Unity build.

Mixed Reality Capture Best Practices: Improve your spectator experience by designing, building, and capturing your next app with MRC. This guide features recommendations for the technical and design side of MRC, including trailer + video production.

VR Audio Overview: Our audio team has created this comprehensive guide that covers all topics focused on spatialized audio, sound localization, and how to use audio as an essential tool for increased immersion.