top of page
ZT Tower.png

Zoomtopia Gallery Demo

For Unreal Engine 5.3

Immersive Zoom Gallery for Hybrid Events 

The Zoomtopia 2023 Mainstage included an LED wall used to display a Zoom studio audience powered by Unreal Engine. Following the release of the Zoom Meeting SDK for Unreal Engine, we provide a version of this demo project in order to provide a real-world example of integrating Zoom into interactive audience galleries for hybrid events and virtual productions.

For Unreal Engine 5.3

Zoom Meeting SDK for UE5

Zoom Video Pipeline

The demo project brings live remote Zoom video feeds into Unreal Engine's render target system. Using the Meeting SDK, participants are programmatically assigned to 32 render targets. Those render targets are used as texture sources for materials applied to 3D tiles floating in the level. If there are more participants in the meeting in Zoom than are on display in Unreal, the tiles can periodically rotate to assign a new participant to the screen. 

Interactive Audience Reactions

Zoom's meeting reactions are available as animated emojis floating around the Unreal Engine participant tiles. When a participant selects a meeting reaction in Zoom, such as love, their 3D tile in the level displays a corresponding emoji (in this case, a heart). In addition, if a participant on screen leaves the meeting, turns off their camera, or has their camera turned off by a host, Unreal Engine will automatically flip the tile to a new participant, which is useful for moderating who is on screen.

gallery shot.png

How it works

Zoom Meeting SDK for Unreal Engine

The Zoomtopia Mainstage Gallery Demo is powered by the Zoom Meeting SDK for Unreal Engine. This SDK lets you combine Zoom's meeting and webinar functionality with Epic's Unreal Engine to create games, industrial applications, or live experiences that leverage powerful 3D rendering and interaction capabilities. The SDK is available on the Zoom developer website and is included in the demo project download as a plugin.

Using the demo project

Within the Zoomtopia Sample Project, the main Zoom control logic is contained in the ControlMenu blueprint.

Please Note: Because the Meeting SDK for Unreal Engine is intended to be used by developers, in order to use the sample project, you will need to create a developer account in the Zoom Marketplace, create an unlisted app entry, and receive app credentials to authenticate the Meeting SDK. Please review the documentation for more guidance.


To join a meeting and view the demo, follow these steps:

  1. Play the level in active viewport

  2. Press [g] for mouse control to interact with the UI

  3. Using the "Zoom QuickStart Widget" input your client ID and secret obtained from the Zoom App Marketplace.

  4. [Optional] Click "Log In" and sign in to your Zoom Account using the embedded browser. This must be the same account which manages the Zoom App listing.

  5. Click "Start Zoom Plugin" to initialize the SDK. You should see a success confirmation in the top right.

  6. Input your desired username, meeting ID, and meeting passcode. Then click 'Join Meeting"

  7. Note: For unpublished apps, you may only join meetings owned by the Zoom account that holds the Marketplace app listing.

  8. Within the meeting, have the host grant local record permission to the UE Gallery, or promote to cohost. 

  9. You should now see up to 32 video feeds of participants populating the gallery tiles. You may edit the variable "maxLiveParticipants" in the ControlMenu BP if you would like to reduce the number of video tiles that will be populated before the tile rotation begins.

  10. Click "Enable" to enable the virtual camera return feed from the SceneCapture2D component.

  11. Instead of stopping the game, use the "Leave Meeting" and "Exit Game" buttons to ensure proper cleanup of the SDK. 

Zoomtopia Recap Video

In November 2023, the Zoom team joined the panel at Office Hours Global to discuss the Zoomtopia mainstage experience. See the video below for more details from the team on this project.

bottom of page