Try the demo project

The sample project contains two levels: a simple gallery with screen sharing and camera input, and a dynamic gallery with example logic for on-demand tile spawning.

The sample project is built for Unreal Engine version 5.3.2. To use the sample project, create an app listing in the Zoom App Marketplace and get the app's client ID and secret. Your Marketplace app listing must have the user_zak:read scope to log into the sample project. In addition, the Redirect URL for OAuth in the Marketplace app listing must match the value of the Redirect URL variable in the Widget Blueprint of the ZM_INIT_PKCE_AUTH_WIDGET in the sample project.

While using app credentials for integrations that haven't been published via the Zoom App Marketplace Review Process, this sample project will only be able to join meetings owned by the Zoom account that holds the Marketplace app listing - Cross Account Join is disabled on unpublished Marketplace integrations by default. To fully utilize the sample project's video capabilities, contact Zoom Support and request access to SDK High Bandwidth (High Bandwidth Mode) on the account that you used to create your Zoom App Marketplace listing.

Simple gallery

The simple gallery project lets you test initializing and authorizing the Meeting SDK, log into a user account, and join a meeting. After joining a meeting, you can assign participant video feeds to four virtual screens in the level.

Try the simple gallery demo.

  1. Open the MainDisplayLevel from the Content Browser.
  2. Play the level in the active level Editor Viewport (Alt+P).
  3. Use the Zoom QuickStart Widget interface on the left to log in and start the Meeting SDK.
  4. Join a Zoom meeting with a meeting ID and passcode using the center interface. This creates an additional Zoom meeting window.
  5. The meeting host must grant recording permissions to the Unreal Engine participant using the allow to record local files feature in the Zoom application.
  6. Refresh the participant list in the level's user interface and select a participant.
  7. To place a participant on one of the four screens in the level, select a Render Target assignment.
  8. If screensharing begins in the meeting, it shows in the content display tile.
  9. To send video from Unreal Engine back to the Zoom meeting, enable the Zoom Camera option in the level's user interface. This streams the Scene Capture 2D to a Render Target for use as a virtual camera for Zoom.

This level's logic is in the Level Blueprint.

Dynamic gallery

The dynamic gallery project lets you experiment with flexibly allocating render targets based on the quantity and behavior of Zoom participants. This demo helps you associate events from Zoom with Unreal Engine for improved scalability.

Try the dynamic gallery demo.

  1. Open the DynamicGalleryDemo level from the Content Browser.
  2. Play the level in the active level Editor Viewport (Alt+P).
  3. Use the Zoom QuickStart Widget interface on the left to log in and start the Meeting SDK.
  4. Join a Zoom Meeting with a meeting ID and passcode using the center interface. This creates an additional Zoom Meeting window.
  5. The meeting host must grant recording permissions to the Unreal Engine participant using the Allow to record local files feature in the Zoom application.
  6. Set the desired number of rows and columns for the participant gallery grid in the level
  7. Select Display Videos to spawn a tile actor for each participant in the meeting who has video enabled in Zoom. As participants turn off and on their video or leave and join the meeting, the gallery dynamically adds and removes tiles to populate the grid.

This level's meeting logic is in the Level Blueprint. The gallery grid logic is in the BP_GridGallerySpawner Blueprint Class.