Connect with us


Building your multiplayer VR experience: Other Multiplayer SDK features, travel reliability, and best practices




For the final part of our four-part “Building Your Multiplayer VR Experience” blog and video series, we’ll discuss the Platform SDK multiplayer features in Quest by exploring our open-sourced SharedSpaces sample made in Unity and show you how to use the sample to build your own multiplayer application. If you’re interested in learning by watching or listening, check out this video on the Meta Open Source YouTube channel.

In today’s blog, we’ll go over some more features that the Multiplayer SDK offers and learn about travel reliability, best practices, takeaways and resources. If you missed how we made a simple Multiplayer VR game on top of the SharedSpaces sample, catch up on our blog post and video.

Other Multiplayer Features

Invokable Error Dialogs and Rejoin

The Platform SDK multiplayer features in Quest provide useful features that make it easy to enter multiplayer experiences and handle edge cases. For example, the SDK provides an API for invokable error dialog to let players know that they haven’t completed the tutorial required to join the group.

This can help players understand what went wrong and helps narrow down the reasons why travel to a destination may not be working as expected. For more details on how to use this API and a full list of error messages that can be shown, check out the documentation.

The SDK also provides users with an option to rejoin a group through the Rejoin dialog in case a user loses connection as shown below.

free widgets for website

It should be noted that this feature only displays a dialog, and you are responsible for handling the detection of the lost connection, the actual rejoining and deep linking. Also keep in mind that if everyone leaves the session while a user is trying to rejoin, it is the application’s responsibility to notify through an error message that the session is not joinable since all participants have left the session. For more details on how to use the Rejoin APIs, example use cases and best practices, check out the documentation.


Webhooks allow you to receive real-time HTTP notifications of changes that may be relevant to the multiplayer experiences in your app. For example, Quest could send you a notification when any of your app’s users join a new lobby or session, without you having to query for changes. To learn more about how to configure and use webhooks, check out the documentation.

Quick invites

Quick Invites is a multiplayer feature that allows you to integrate Oculus invites into your app experience without needing to show an Oculus overlay.

The Quick Invite API is available once Invite to App has been implemented and allows apps to display cross platform users.

The API provides a list of available users, direct invites and invites that have been sent. To learn more about the Quick Invite API, its prerequisites, restrictions and how to use the APIs, check out the documentation.

free widgets for website

Group Launch

Group Launch is a multiplayer feature that makes it easy for people to join destinations, allowing users to travel together in-app using deep link URLs.

See also  Ifeoma Ozoma: US tech whistleblower helping others speak out

Group Launch allows you to create links directly to best experiences of your app and share it to your community on any platform. You can use these links to promote a new map, set up a play with the developers event or give out limited rewards.

For more information on how to use these methods, and to learn about example scenarios where Group Launch can be used, check out the documentation.

In our recent Oculus Developer Hub (ODH) update, we included new capabilities and improvements to existing features that will improve your daily development workflow. One of these is Multiplayer Testing, which allows you to test Group Launch directly from ODH on multiple devices. Multiplayer Testing works for any app that has Group Destinations registered and at least one binary uploaded to a release channel. Launch your app on one or more devices with a specific destination and lobby session ID. To learn more about Multiplayer Testing, check out the documentation.

This feature eases implementation and improves reliability of group destinations. To begin utilizing Multiplayer Testing in your workflow, check out our documentation guide.

free widgets for website

Next, let’s discuss some of the measures that you can take to make sure your multiplayer VR experiences are comfortable and welcoming.

Travel Reliability

Travel reliability means that your users successfully reach their intended destinations reliably and correctly. It is crucial to make sure that travel reliability is high so as to not break users’ immersion and prevent any unwanted surprises.

It’s important to only show valid destinations that the user can travel to. If a destination isn’t available to everyone, you should show an error message to the individuals who cannot go to that destination if they attempt to travel there.

Identifying where the travel fails can help in error handling and informing the user about what happened. Making sure that users travel reliably to their intended destination is very important when designing multiplayer VR apps to ensure a smooth, fair and comfortable experience. When a user is traveling, you should strive to minimize the user input required for the user to complete the travel.

Here are some common scenarios where simple changes in design decisions can potentially help improve travel reliability and make your users’ travel experience more enjoyable:

free widgets for website
  • When a user hasn’t completed a tutorial and is required to complete the tutorial before they can travel. In such cases, it is recommended that the developer allows them to skip the tutorial and go directly to the destination.
  • When a user is required to go through the setup for a game’s avatar before they can travel, but they haven’t completed it. The best way to avoid such situations is to give them a default avatar so that they can continue with the experience.
  • When a user is required to go through a login screen that needs them to fill in their credentials (email / password). If possible, having them continue without seeing the login screen would make this experience a lot more reliable.
  • When a user doesn’t have access to the destination for game reasons (e.g., they don’t have a high enough level, they don’t have enough cash, they haven’t unlocked the destination yet, etc.) and is instead taken to the main menu without any messaging. The best way to handle such situations is to inform the user on why they could not reach the destination that they wish to go to.
  • There can be situations where a user had the application open already when they started travel and the app did not take them to the destination. In such cases, the best thing to do is to test how the destination travel will work while the app is open and ensure it has consistency with the app not yet opened. If there are game reasons why the user cannot leave their current location or it would be disruptive to do so, it is best to provide an appropriate message to the user telling them why they cannot travel to the new destination at this time.
See also  Zuckerberg's new plan is all about fixing Facebook's damaged image by making more media ...

Next, let’s look at some best practices to keep in mind when developing your multiplayer VR experiences.

Best practices and resources

By integrating the Platform SDK multiplayer features into your app, you make it easier for people to get together in your app, which can help drive engagement and retention. Incorporating platform multiplayer features in your multiplayer VR app can help reduce friction. Having consistency between the apps helps new players quickly understand how to group up and start playing together, without needing to learn any custom system. We recommend incorporating destinations and Group Presence first, followed by Roster, Invite to App and Invite Link. A best practice for integrating Invites is for apps to have an easy to find invite button within the app to start the invite to app flow.

It’s important to enable error dialogs and webhooks, as they can improve multiplayer reliability, help in troubleshooting and make it easier to identify what went wrong and where to improve.

One of the best resources to learn about Platform SDK multiplayer features and their associated APIs is the multiplayer features documentation. Here you’ll find all the SDK features we’ve discussed, the best ways to use them in your application, sample use cases and examples to help you get started.

The Connect 2021 session Building and Growing Multiplayer Apps for Quest reviews multiplayer features in detail and discusses how Echo VR incorporated these features in their game. It also includes a detailed walkthrough of the SharedSpaces sample.

If you’re interested in reading more about how Ready At Dawn used Oculus Platform Multiplayer Features to elevate Echo VR, check out our blog post where we met with Ready At Dawn Project Lead David Neubelt to learn more about how their incorporation of these features impacted their community’s growth.

free widgets for website

To learn more about the SharedSpaces sample, check out the SharedSpaces Multiplayer Showcase blog post, which discusses how to invite a friend to a match, edge cases and API references. The blog How you Can Quickly Bring People Together in VR details the underlying technologies that are used to create the SharedSpaces application.

See also  How our culture and our government gave too much power to Facebook - New York Post

Be sure to check out our previous blogs in the “Building your multiplayer VR experience” series to learn more about what Platform SDK multiplayer features in Quest offers, what you can build with it and how you can use the SharedSpaces sample to help you get started:

About this series

In this series, we discuss the Platform SDK multiplayer features in Quest by exploring our open-sourced SharedSpaces sample made in Unity. This blog is the fourth of a four-part series of blogs supporting the video series “Building your multiplayer VR experience.”

To learn more about the Platform SDK multiplayer features and how the SharedSpaces sample works, check out this Connect session that discusses building and growing multiplayer apps for Quest. Try out the Unity SharedSpaces sample by visiting App Lab and running it on your own headset. To learn more about how to use Platform SDK multiplayer features in your own apps, checkout our documentation for multiplayer features.

To learn more about Meta Quest, visit our website, subscribe to our YouTube channel, or follow us on Twitter and Facebook. If you have any questions, suggestions or feedback, please let us know in the developer forums.

free widgets for website

To learn more about Meta Open Source, visit our open source site, subscribe to our YouTube channel, or follow us on Twitter and Facebook.

First seen at

Continue Reading
Advertisement free widgets for website
Click to comment

Leave a Reply

Your email address will not be published.


Creating Apps with App Use Cases





With the goal of making Meta’s app creation process easier for developers to create and customize their apps, we are announcing the rollout of an updated process using App Use Cases instead of the former product-focused process. App Use Cases will enable developers to quickly create apps by selecting the use case that best represents their reason for creating an app.

Currently, the product-focused app creation process requires developers to select an app type and individually request permission to API endpoints. After listening to feedback from developers saying this process was, at times, confusing and difficult to navigate, we’re updating our approach that’s based on App Use Cases. With App Use Cases, user permissions and features will be bundled with each use case so developers can now confidently select the right data access for their needs. This change sets developers up for success to create their app and navigate app review, ensuring they only get the exact data access they need to accomplish their goals.

Starting today Facebook Login will be the first use case to become available to developers. This will be the first of many use cases that will be built into the app creation process that will roll out continually in 2023. For more information please reference our Facebook Login documentation.

First seen at

See also  SHIP to host Facebook Live Medicare events | News |
Continue Reading


Understanding Authorization Tokens and Access for the WhatsApp Business Platform





The WhatsApp Business Platform makes it easy to send WhatsApp messages to your customers and automate replies. Here, we’ll explore authentication using the Cloud API, hosted by Meta.

We’ll start with generating and using a temporary access token and then replace it with a permanent access token. This tutorial assumes you’re building a server-side application and won’t need additional steps to keep your WhatsApp application secrets securely stored.

Managing Access and Authorization Tokens

First, let’s review how to manage authorization tokens and safely access the API.


Start by making sure you have a developer account on Meta for Developers. You’ll also need WhatsApp installed on a mobile device to send test messages to.

Creating an App

Before you can authenticate, you’ll need an application to authenticate you.

free widgets for website

Once you’re signed in, you see the Meta for Developers App Dashboard. Click Create App to get started.

Next, you’ll need to choose an app type. Choose Business.

After that, enter a display name for your application. If you have a business account to link to your app, select it. If not, don’t worry. The Meta for Developers platform creates a test business account you can use to experiment with the API. When done, click Create App.

Then, you’ll need to add products to your app. Scroll down until you see WhatsApp and click the Set up button:

Finally, choose an existing Meta Business Account or ask the platform to create a new one and click Continue:

free widgets for website

And with that, your app is created and ready to use. You’re automatically directed to the app’s dashboard.

Note that you have a temporary access token. For security reasons, the token expires in less than 24 hours. However, you can use it for now to test accessing the API. Later, we’ll cover how to generate a permanent access token that your server applications can use. Also, note your app’s phone number ID because you’ll need it soon.

See also  WEHOville Facebook page hijacked by former publisher

Click the dropdown under the To field, and then click Manage phone number list.

In the popup that appears, enter the phone number of a WhatsApp account to send test messages to.

Then, scroll further down the dashboard page and you’ll see an example curl call that looks similar to this:

free widgets for website
curl -i -X POST -H 'Authorization: Bearer ' -H 'Content-Type: application/json' -d '{ "messaging_product": "whatsapp", "to": "", "type": "template", "template": { "name": "hello_world", "language": { "code": "en_US" } } }'

Note that the Meta for Developers platform inserts your app’s phone number ID and access token instead of the and placeholders shown above. If you have curl installed, paste the command into your terminal and run it. You should receive a “hello world” message in WhatsApp on your test device.

If you’d prefer, you can convert the curl request into an HTTP request in your programming language by simply creating a POST request that sets the Authorization and Content-Type headers as shown above, including the JSON payload in the request body.

Since this post is about authentication, let’s focus on that. Notice that you’ve included your app’s access token in the Authorization header. For any request to the API, you must set the Authorization header to Bearer .

Remember that you must use your token instead of the placeholder. Using bearer tokens will be familiar if you’ve worked with JWT or OAuth2 tokens before. If you’ve never seen one before, a bearer token is essentially a random secret string that you, as the bearer of the token, can present to an API to prove you’re allowed to access it.

Failure to include this header causes the API to return a 401 Unauthorized response code.

free widgets for website

Creating a Permanent Access Token

Knowing that you need to use a bearer token in the Authorization header of an HTTP request is helpful, but it’s not enough. The only access token you’ve seen so far is temporary. Chances are that you want your app to access the API for more than 24 hours, so you need to generate a longer-lasting access token.

Fortunately, the Meta for Developers platform makes this easy. All you need to do is add a System User to your business account to obtain an access token you can use to continue accessing the API. To create a system user, do the following:

  • Go to Business Settings.

  • Select the business account your app is associated with.
  • Below Users, click System Users.
  • Click Add.
  • Name the system user, choose Admin as the user role, and click Create System User.
  • Select the whatsapp_business_messaging permission.
  • Click Generate New Token.
  • Copy and save your token.

Your access token is a random string of letters and numbers. Now, try re-running the earlier request using the token you just created instead of the temporary one:

curl -i -X POST -H 'Authorization: Bearer ' -H 'Content-Type: application/json' -d '{ "messaging_product": "whatsapp", "to": "", "type": "template", "template": { "name": "hello_world", "language": { "code": "en_US" } } }'

Your test device should receive a second hello message sent via the API.

Best Practices for Managing Access Tokens

It’s important to remember that you should never embed an App Access Token in a mobile or desktop application. These tokens are only for use in server-side applications that communicate with the API. Safeguard them the same way you would any other application secrets, like your database credentials, as anyone with your token has access to the API as your business.

If your application runs on a cloud services provider like AWS, Azure, GCP, or others, those platforms have tools to securely store app secrets. Alternatively there are freely-available secret stores like Vault or Conjur. While any of these options may work for you, it’s important to evaluate your options and choose what works best for your setup. At the very least, consider storing access tokens in environment variables and not in a database or a file where they’re easy to find during a data breach.

free widgets for website


In this post, you learned how to create a Meta for Developers app that leverages the WhatsApp Business Platform. You now know how the Cloud API’s bearer access tokens work, how to send an access token using an HTTP authorization header, and what happens if you send an invalid access token. You also understand the importance of keeping your access tokens safe since an access token allows an application to access a business’ WhatsApp messaging capabilities.

Why not try using the Cloud API, hosted by Meta if you’re considering building an app for your business to manage WhatsApp messaging? Now that you know how to obtain and use access tokens, you can use them to access any endpoint in the API.

First seen at

Continue Reading


Now people can share directly to Instagram Reels from some of their favorite apps





More people are creating, sharing and watching Reels than ever before. We’ve seen the creator community dive deeply into video content – and use it to connect with their communities. We’re running a limited alpha test that lets creators share video content directly from select integrated apps to Instagram Reels. Now, creators won’t be interrupted in their workflow, making it easier for them share share and express themselves on Reels.

“With the shift to video happening across almost all online platforms, our innovative tools and services empower creativity and fuel the creator economy and we are proud to be able to offer a powerful editing tool like Videoleap that allows seamless content creation, while partnering with companies like Meta to make sharing content that much easier.”- Zeev Farbman, CEO and co-founder of Lightricks.

Starting this month, creators can share short videos directly to Instagram Reels from some of their favorite apps, including Videoleap, Reface, Smule, VivaVideo, SNOW, B612, VITA and Zoomerang, with more coming soon. These apps and others also allow direct sharing to Facebook , which is available for any business with a registered Facebook App to use.

We hope to expand this test to more partners in 2023. If you’re interested in being a part of that beta program, please fill out this form and we will keep track of your submission. We do not currently have information to share about general availability of this integration.

Learn more here about sharing Stories and Reels to Facebook and Instagram and start building today.

free widgets for website


Q. What is the difference between the Instagram Content Publishing API and Instagram Sharing to Reels?

See also  Zuckerberg reportedly said Facebook needs 'to inflict pain' on Apple

A: Sharing to Reels is different from the Instagram Content Publishing API, which allows Instagram Business accounts to schedule and publish posts to Instagram from third-party platforms. Sharing to Reels is specifically for mobile apps to display a ‘Share to Reels’ widget. The target audience for the Share to Reels widget is consumers, whereas the Content Publishing API is targeted towards businesses, including third-party publishing platforms such as Hootsuite and Sprout Social that consolidate sharing to social media platforms within their third-party app.

Q: Why is Instagram partnering with other apps?

A: Creators already use a variety of apps to create and edit videos before uploading them to Instagram Reels – now we’re making that experience faster and easier. We are currently doing a small test of an integration with mobile apps that creators know and love, with more coming soon.

Q: How can I share my video from another app to Reels on Instagram?

free widgets for website

A: How it works (Make sure to update the mobile app you’re using to see the new Share to Reels option):

  • Create and edit your video in one of our partner apps
  • Once your video is ready, tap share and then tap the Instagram Reels icon
  • You will enter the Instagram Camera, where you can customize your reel with audio, effects, Voiceover and stickers. Record any additional clips or swipe up to add an additional clip from your camera roll.
  • Tap ‘Next’ to add a caption, hashtag, location, tag others or use the paid partnerships label.
  • Tap ‘Share’. Your reel will be visible where you share reels today, depending on your privacy settings.
See also  Facebook Increases Support for Business from Underserved Communities by Joining New Initiative

Q: How were partners selected?

A. We are currently working with a small group of developers that focus on video creation and editing as early partners. We’ll continue to expand to apps with other types of creation experiences.

Q: When will other developers be able to access Sharing to Reels on Instagram?

A: We do not currently have a date for general availability, but are planning to expand further in 2023.

Q: Can you share to Facebook Reels from other apps?

free widgets for website

A: Yes, Facebook offers the ability for developers to integrate with Sharing to Reels. For more information on third-party sharing opportunities, check out our entire suite of sharing offerings .

First seen at

Continue Reading