Articles
Video Calling and Group Effects
Video Calling and Group Effects Overview

Introduction to video calling and group effects

In Meta Spark, you can publish an effect for people to use during a video call on Instagram or Messenger. Adding multipeer functionality lets you turn these effects into shared AR experiences where the effect is applied to everyone on a call. These are known as group effects.

Group effects

Without multipeer functionality, each instance of an AR effect in a video call is completely independent of one another. The multipeer capability is a message passing API that lets you develop effects in which instances are able to interact with each other by sending information between video call participants to create coordinated group experiences. In Meta Spark studio, these kinds of effects are known as group effects.

The multipeer capability is automatically added or updated when your project includes:

There are all kinds of different group experiences you can create. Some examples include:

Collaborating/gaming

Create AR games for users to play on a video call.

Object Passing

Enable participants on a call to pass an object back and forth.

Shared Context

Build an effect where everyone on the call shares the same background or the same ambient environmental features like a crackling fireplace. Add further interactivity to these kinds of effects, for example, enabling participants to change each other’s backgrounds by tapping the screen or nodding their head.

See more group effect examples and learn how to design with best practice in mind.

Resources for creating group effects

There are lots of options for creating group effects in Meta Spark Studio, using patches, scripts or a combination of both.

Configuring your project for video calling

Before building a group effect make sure your project is set up for video calling.

Templates

Customize the following group effect templates, available in the Meta Spark Welcome Screen:

Scripting

The MultipeerModule API enables group effects and message passing between instances of the effect, while the ParticipantsModule API lets you retrieve information about the status of each participant in the call. For example you can monitor whether a given participant is active in the call or the effect, or be notified when there’s a new joiner.

Patches

If you're not familiar with scripting, you can use multipeer patches and participant patches to build your group effects.

Testing and debugging

It’s best to test group effects throughout the creation process using the Grid View in Meta Spark Desktop Player. This will let you simulate a group call, with participants leaving and rejoining the call.

The Multipeer Debugging Tool can be used to simulate message relays between video call participants for debugging purposes.

Tutorials

Once you've learned the basics, it’s time to build your own effect! It’s worth taking a look at the different ways we've used scripting and patches to build group effects, in these tutorials:

Creator days workshops

Rewatch the group effect workshops run by expert Meta Spark creators:

Performance considerations

AR effects intended for video calls need to be more efficient than those used for a typical sharing use case such as stories or reels. Keep the following in mind when building your effect:

  • Effects on a video call generally run significantly longer than sharing effects. Use GPU and CPU sparingly.
  • You can't use face tracking and segmentation at the same time and you should be mindful about using multiple capabilities in your effect.
  • Take note of Meta Spark Studio warnings about unused capabilities — even unused capabilities can cause the runtime to load unnecessary components and impact performance and battery life.

Publishing your effect

When you’re happy with your effect export it from Meta Spark studio and submit it to be published in Meta Spark Hub. When you submit it in AR Hub, make sure to select All Platforms or Video Calling as your chosen specific platform.