# Get started > Zoom Video SDK for Unity is in a public beta. [Share your feedback with us](https://zoom.sjc1.qualtrics.com/jfe/form/SV_1IjZoKKENQaXvKK). This guide goes over how to download and install the files for the Video SDK for Unity plugin on Android, iOS, macOS, and Windows and how to start the sample app. _See [Video SDK Plans & Pricing for Developer](https://zoom.us/pricing/developer) for pricing._ Follow these steps to get started: 1. [Get your Video SDK credentials](/docs/video-sdk/get-credentials/) 2. Download the latest version of the Video SDK for Unity plugin from the [Zoom App Marketplace](/docs/video-sdk/developer-accounts/) and unzip it. 3. Download the platform files for Windows, iOS, or macOS from the Marketplace for your target platform. > The Video SDK for Unity is a C# wrapper for native Video SDK. The platform SDK files for these operating systems are not included in the plugin. > > Therefore, except for the Android platform, you must download the matching version of the Video SDK for iOS or macOS and copy the files into the corresponding Unity plugin directory. See the rest of this page for details. > > For the Android platform, we include the Video SDK files in a dependency list to allow for automatic download. ## Import the sample app as a Unity project Follow the instructions in the [Get started with UGS](https://docs.unity.com/ugs/en-us/manual/overview/manual/getting-started#CreateProject) Unity Documentation to create your project. The following steps go over how to get started using the [Unity Hub](https://unity.com/unity-hub). The steps go over how to create a project in Unity Hub and configure it for Android and macOS. 1. Install Unity Hub and Unity Editor. - Start [Unity Hub](https://unity.com/unity-hub), create an account if you haven't already, and sign in. - Install [Unity Editor 2022.3.1f](https://unity.com/releases/editor/whats-new/2022.3.1). Click the link on this page to install this version with Unity Hub. Video SDK was tested with this version. You can run it with a different version but you may need to configure it differently to run. - Add a license (for example, choose a free personal license). - Add [Android Build Support](https://docs.unity3d.com/Manual/android-sdksetup.html) tools if you want to build for Android. 2. In Unity Hub, click **New project** to create an empty Unity project (for example 3D Core). 3. Set a project name, location, and [organization](https://docs.unity.com/ugs/manual/overview/manual/unity-organizations#Creating_and_editing_Organizations) for the project, and click **Create project**. 4. Once you've created the project, it opens automatically in the Unity Editor. To import the Zoom Video SDK for Unity `unitypackage`, right-click **Assets**, **Import Package**, **Custom Package**, and select the `ZoomVideoSDK.unitypackage` where you unzipped it on your local machine. 5. Unity Hub displays the imported assets in a modal. Click **Import**. 6. You can see the imported assets in the **Assets** folder in the project panel. In this folder, open the **Scenes** folder. You'll see the Zoom Unity sample scene in `Assets/Scenes/unity-zoom-video-sdk.unity`. You'll also see the default `SampleScene.unity` installed with the project. You can delete this default sample scene. 7. Drag the `unity-zoom-video-sdk.unity` into the [**Hierarchy**](https://docs.unity3d.com/Manual/Hierarchy.html) window. You will see the Zoom Unity sample UI with fields for **JWT Token**, **Session Name**, **Display Name**, and **Password**, a **Leave** button and a **Join** button. You should now be able to unload and delete the `SampleScene` from the **Hierarchy** window. ## Configure the project for Android Follow these steps to configure the project for Android. 1. In the Unity Editor, click **File** and **Build Settings** to open the **Build Settings** window. 2. Select **Android** and press the **Switch Platform** button to switch the platform to **Android**. 3. Make sure that you selected an **Android Emulator** for the **Run Device** option. 4. Click the **Player Settings**" button and expand the tabs to configure more selections. - Select at least the same architecture as your machine under **Target Architectures**. - Select a **Minimum API Level** of at least Android 6.0 (API level 23) or later and a **Target API Level** of up to Android 13.0 (API level 33). - Set the **Scripting Backend** to IL2CPP. - Clear the **Custom Keystore** check box to sign the project with a debug key. - Close the **Project Settings** window. 5. On the Build Settings screen, click **Save** if necessary, then **Build and Run**. 6. If you've set everything up correctly, the app will run on the **Android Emulator**. Congratulations! ## Configure the project for iOS When you generate an Xcode project from the Unity Editor, you must configure it so that it can embed the Video SDK for macOS files inside the Unity app. You only need to follow these steps the first time that you build a new Xcode project from Unity. Once configured, you can make code changes in Unity and select **Append** to save them. 1. In the Unity Editor, click **File** and **Build Settings**. 2. Select the platform. Select **iOS** and click **Build**. 3. Select the destination. In the **Finder** dialog, create a **New Folder** or choose a destination folder for your project and click **Choose** (the build folder can't be the same as the project root directory). For example, `unity-ios-project`. The Unity Editor will generate an Xcode project will be generated inside this folder. 4. Copy the Video SDK for iOS package. - Go to the generated folder and create a new **Frameworks** folder. - Download the **Zoom Video SDK iOS** from the [Zoom App Marketplace](/docs/video-sdk/developer-accounts/) and unzip the package. - Copy and paste the Video SDK for iOS package into the **Frameworks** folder. 5. Configure the Project Navigator. Add the copied frameworks and libraries inside the **Frameworks** folder in **Project Navigator**. The frameworks from Zoom are `CptShare`, `ZoomVideoSDK`, `ZoomVideoSDKScreenShare`, `zm_annoter_dynamic`, `zoomcml`. The rest are Apple frameworks files. 6. Configure build phases. - Under **Build Phases**, in the **Link Binary With Libraries** section, the Unity and Apple frameworks should be already included. Add the Zoom frameworks. - In the **Embed Frameworks** section, select **Frameworks** from the dropdown and verify that it includes the `CptShare`, `ZoomVideoSDK`, `zm_annoter_dynamic`, and `zoomcml` frameworks. - Go to the **Generals** tab and verify that the following dependencies are there for the **UnityFramework** target (`.framework` or `.xcframework` format, unless otherwise specified): `AudioToolbox`, `AVFoundation`, `AVKit`, `baselib.a`, `CFNetwork`, `CoreGraphics`, `CoreMedia`, `CoreMotion`, `CoreText`, `CoreVideo`, `CptShare`, `Foundation`, `GameController`, `libGameAssembly.a`, `libiconv.2.tbd`, `libil2cpp.a`, `libiOSStaticLib.a`, `libiPhone-lib.a`, `MediaToolbox`, `Metal`, `OpenAL`, `QuartzCore`, `Security`, `SystemConfiguration`, `UIKit`, `zm_annoter_dynamic`, `zoomcml`, `ZoomVideoSDK`. 7. Configure build settings. - Configure Library Search Paths. Go to **Build Settings** and search for "Library Search Paths". Add the following for both Debug and Release (non-recursive). ```plaintext $(inherited) $(PROJECT_DIR)/Libraries $(SRCROOT)/Libraries/Plugins/iOS ``` - Configure Runpath Search Paths. Go to the Build Settings and search for "Runpath Search Paths". Add the following for both Debug and Release. ```plaintext $(inherited) @executable_path/Frameworks @loader_path/Frameworks ``` 8. Launch the Application. Click **Product** and **Build**, then **Run** the application. If you set everything up correctly, the app should run. Congratulations! 9. Subsequent builds. Once your application is running successfully, you can make further code changes in Unity Editor and then select the **Append** option while generating the project. When you select Append, the changes will not overwrite the changes you made in the previous steps. ## Configure the project for macOS When you generate an Xcode project from the Unity Editor, you must configure it so that it can embed the Video SDK for macOS files inside the Unity app. You only need to follow these steps the first time that you build a new Xcode project from Unity. Once configured, you can make code changes in Unity and select **Append** to save them. 1. In the Unity Editor, click **File** and **Build Settings**. 2. Select the platform. - Select **Windows, Mac, Linux**. - Click the **Switch Platform** button (if available). - Choose macOS as the **Target Platform**. - **Architecture**: Intel 64-bit + Apple Silicon. - Select the **Create Xcode Project** check box and keep the defaults. - Click **Build**. 3. Select the destination. In the **Finder** dialog, create a **New Folder** or choose a destination folder for your project and click **Choose** (the build folder can't be the same as the project root directory). For example, `unity-macos-project`. The Unity Editor will generate an Xcode project will be generated inside this folder. 4. Copy the Video SDK for macOS package. Go to the `unity-macos-project/My project/Plugins` folder and copy the Zoom Video SDK for macOS package into this directory. - Download the **Zoom Video SDK macOS** from the [Zoom App Marketplace](/docs/video-sdk/developer-accounts/). - Unzip the package. - From the `Sample-Libs/ZoomVideoSDK` directory, copy the files and folders and paste them directly into the `Plugins` folder. - Delete `ZoomAudioDevice.driver` from the folder. 5. Configure Project Navigator. You must open the project in XCode **Project Navigator** to configure the project and add the copied frameworks and libraries to the Plugins folder in the Project Navigator. - For example, double-click the `unity-macos-project.xcodeproj`in the `unity-macos-project` folder to open the project in XCode. - Right-click the Plugins folder in the Project Navigator and choose **Add files...**. For example **Add files to "unity-macos-project"**. - Select all of the files in the Plugins folder in the Finder and click **Add**. - You should see the files under the Plugins folder in the Project Navigator. 6. Configure build phases. - Under **Build Phases** in the project target, Xcode might have added a lot of frameworks in the **Link Binary With Libraries** section by default. These aren't necessary. Select the unnecessary libraries and frameworks and click the minus ("-") sign to remove them. You only need the following libraries and frameworks. - `ZMVideoSDK.framework` - `libcares.dylib` - `libminizip.dylib` - `libzoombase_crypto_shared.dylib` - `libjson.dylib` - `ZoomVideoSDKMeetingBridge.framework` - `libcrypto.dylib` - `libssl.dylib` - `UnityPlayer.dylib` - Verify Plugins and Foundations. Under **CopyPlugIns**, the `libZMMacUnityVideoSDK.dylib` must already be in the Xcode project. Verify it is there. - Add New Copy Frameworks. - Click the plus sign at the top of the **Build Phases** tab to create a new **Copy Files Phase**. - Label it "Copy Zoom Dependencies". - Select **Frameworks** from the **Destination** dropdown. - Select all of the files in the Plugins folder and click **Add**. - Be sure that you are copying the Zoom dependency files into the **Frameworks** destination and that the **Code Sign on Complete** checkbox is selected for the `ZMDB.framework` and `zNetUtils.framework` files. - Verify Frameworks and Libraries. Go to the **General** tab and make sure the Frameworks, Libraries, and Embedded Content section includes the following files. - `annoter.bundle` - `aomagent.bundle` - `aomhost.app` - `capHost.app` - `cmmbiz.framework` - `cmmlib.framework` - `CptHost.app` - `curl64.framework` - `libcares.dylib` - `libcrypto.dylib` - `libjson.dylib` - `libminizip.dylib` - `libmono-native.dylib` - `libmonobdwgc-2.0.dylib` - `libMonoPosixHelper.dylib` - `libmpg123_mac.bundle` - `libssl.dylib` - `libZMMacUnityVideoSDK.dylib` - `libzoombase_crypto_shared.dylib` - `mcm.bundle` - `nydus.framework` - `protobuf.framework` - `ssb_sdk.bundle` - `tp.framework` - `UnityPlayer.dylib` - `util.framework` - `VideoSDK.dylib` - `viper.framework` - `xmpp_framework.framework` - `zData.bundle` - `zlt.bundle` - `ZMDB.framework` - `ZMVideoSDK.framework` - `zNetUtils.framework` - `ZoomTask.framework` - `ZoomVideoSDKMeetingBridge.framework` - `zVideoApp.bundle` - `zWebService.bundle` 7. Configure Build Settings. - Configure Library Search Paths. Go to **Build Settings** and search for "Library Search Paths". Add the following for both Debug and Release (non-recursive). ```plaintext $(inherited) $(PROJECT_DIR)/unity-zoom-video-sdk/Plugins ``` - Configure Frameworks Search Paths. Go to the **Build Settings** and search for "Frameworks Search Paths". Add the same settings as for Library Search Paths. ```plaintext $(inherited) $(PROJECT_DIR)/unity-zoom-video-sdk/Plugins ``` - Configure Runpath Search Paths. Go to the Build Settings and search for "Runpath Search Paths". Add the following for both Debug and Release. ```plaintext @executable_path/Frameworks @loader_path/../Frameworks @executable_path/../Frameworks ``` 8. Configure Camera and Microphone description. - Open `UnityMacOSProject/unity-zoom-video-sdk/info.plist` and add the following new items in the list. - Privacy - Camera Usage Description, a String Type, with a For Video Conferencing Value - Privacy - Microphone Usage Description, a String Type, with a For Video Conferencing Value 9. Launch the Application. Click **Product** and **Build**, then **Run** the application. If you set everything up correctly, the app should run. Congratulations! 10. Subsequent builds. Once your application is running successfully, you can make further code changes in Unity Editor and then select the **Append** option while generating the project. When you select Append, the changes will not overwrite the changes you made in the previous steps. ## Configure the project for Windows Follow these steps to configure the project for Windows. 1. In the Unity Editor, click **File** and **Build Settings** to open the **Build Settings** window. 2. Select **Windows, Mac, Linux** and press **Switch Platform** to switch the platform. 3. We only support Intel 64-bit systems, so be sure to select an architecture of **Intel 64-bit**. 4. On the **Build Settings** screen, click **Build**, create an empty folder and select the folder as the project directory. 5. After the visual studio project is built, navigate to `unity-zoom-video-sdk\vsdk-unity\Assets\Plugins\Windows\bin\`, - Copy the three `.exe` typed libraries `aomhost64.exe`, `zCrashReport64.exe`, and `zcscpthost.exe` to `\VS_PROJECT_NAME\unity-zoom-video-sdk_Data\Plugins\x86_64`. - This operation only needs to be done once, the first time you build the Visual Studio project. 6. Go back to the **Build Settings** screen and click **Build And Run**. If you set everything up correctly, the app should run. Congratulations! ## Create and join a session You can now create a Video SDK JWT token to [authorize](/docs/video-sdk/auth/) and join a session. > **Subsequent Builds**: Once you've successfully run your application, you can make further code changes in the Unity Editor and select **Append** while generating the project. Selecting this option will not overwrite the changes you've already made.