LogoLogo
PlaygroundVideosBlogPricing
  • Welcome
  • Convai Playground
    • Playground Walkthrough
    • Get Started
    • Character Creator Tool
      • Create Character
      • Language and Speech
      • Knowledge Bank
      • Personality and Style
      • State of Mind
      • Memory
      • Actions
      • Narrative Design
      • Character Versioning
    • F.A.Q
  • Plugins & Integrations
    • Introduction
    • Unity Plugin
      • Pre-Requisites
      • Compatibility
      • Downloads
        • Limitations of WebGL Plugin
      • Setting Up Unity Plugin
      • Troubleshooting Guide
        • Disable Assembly Validation
        • Missing Newtonsoft Json
        • Microphone Permission Issues
        • Default Animations Incompatibility
        • Animations have Facial Blendshapes
        • Jaw Bone in Avatar is not Free
        • macOS Permission Issues
      • Creating a Convai Powered Scene from Template
      • Importing Ready Player Me (RPM) Characters
      • Importing Custom Characters
      • Adding Actions to your Character
      • Adding Lip-Sync to your Character
      • Adding Narrative Design to your Character
        • Narrative Design Keys
      • Adding NPC to NPC Conversation
      • Adding Scene Reference and Point-At Crosshairs
      • Utilities
        • Character Emotion
        • Player Data Container
        • Long Term Memory
        • Language Support
        • Managing sessionID Locally
        • Transcript UI System
        • Pre-built UI Prefabs
        • Input Management
        • Notification System
        • Settings Panel
        • Dynamic Information Context
      • Building For Supported Platforms
        • Building for iOS/iPadOS
        • Building for WebGL
        • Convai XR
          • Building for VR
            • VR Automatic Installation
            • VR Manual Installation
          • Building for MR
            • MR Automatic Installation
            • MR Manual Installation
          • Building for AR
          • Interacting with XR UI Elements
        • Building for macOS Universal apps
      • Changelogs
      • Tutorials
        • Narrative Design
        • NPC2NPC
    • Unreal Engine
      • Supported Platforms
      • Installation
      • Guides
        • Dynamic Environment Info
        • Change AI Character Movement Speed
        • Integration with Pixel Streaming
        • Adjust Interaction Radius
        • Creating MetaHuman Characters
          • Adding MetaHuman
          • Adding LipSync to MetaHuman (From plugin version 3.0.0 or later )
          • Change the Parent Class for MetaHuman
          • Change the parent class for Player.
          • Adding LipSync to MetaHuman (Deprecated)
        • Creating ReadyPlayerMe Characters
          • Download Plugins
          • Adding ReadyPlayerMe Character
          • Change the parent class for Player.
        • Creating Reallusion Characters
          • Creating a Reallusion Character
          • Importing Reallusion character and setting up the Convai plugin
          • Binding objects to Reallusion Character
        • Event-Aware Convai Characters
        • Operations Based on the Presence of Certain Words
        • Narrative Design
          • Narrative Design Trigger
          • Narrative Design Keys
        • Actions Guide
          • Stage 1: Default Actions
            • Moves To
            • Follows
          • Stage 2: Custom Actions
            • Simple actions
            • Adding Descriptions to Actions
          • Stage 3: Custom Actions with Single Parameter
          • Main Character and Attention Object
        • Customization
          • Push to Talk
          • Alter Character Response Audio Rate
        • Speech To Text Transcription
        • Enable Multiplayer Support
        • 3D Chat Widget
        • Long Term Memory
        • Saving and Loading Session
      • Blueprints Reference
        • Convai Player
        • Convai Chatbot
        • Convai Environment
        • Convai Object Entry
        • Convai Result Action
        • Convai Extra Params
        • Speech To Text
        • Text To Speech
        • Utility Functions
      • Troubleshoot Guide
        • Missing Unreal Engine Tool Set in Microsoft Visual Studio Toolchain
        • Convai Module Not Found
        • MetaHuman Plugin Conflict
        • Failure to Load Character IDs
      • Microphone Settings
        • Set Audio Gain
        • Set Microphone
        • Microphone test
        • List Microphone Devices
      • Mac Microphone Permission: Required for UE 5.0 and 5.3
      • Guides V2 (Under Development)
        • Getting Started
          • Installation
          • Simple Talking Cube
          • Adding Premade Chat and Settings UI
    • Web Plugin
      • PlayCanvas Plugin
        • Adding External Script
        • First Person View
        • Adding characters to scene
        • Character Animations
        • Convai Integration
        • Chat Overlay
      • Convai Web SDK
        • Getting Started
        • Facial Expressions
        • Actions
      • JavaScript Chat UI SDK
        • Getting Started
        • ChatBubble Props
      • Narrative Design Guide
        • Narrative Design Triggers
        • Narrative Design Keys
      • GLB Characters for Convai
      • GLB/FBX animations for Convai
    • Modding Framework
      • Modding Cyberpunk 2077
    • Other Integrations
      • Roblox
        • Sample Game 1
        • Sample Game 2
        • Code Example
          • Character Conversation API
      • Discord
        • Create a Discord Bot
        • Hosting Discord Bot from Personal Server
        • Hosting Discord Bot from Replit
      • Omniverse Extension
      • Third-Party API Integrations
        • ElevenLabs API Integration
  • Reference
    • Core API Reference
      • Character Base API
      • Interaction API
      • Core AI Setting API
      • Backstory API
      • Chat History API
      • Knowledge Bank API
      • Narrative Design API
      • Action API
      • Language List API
      • Voice List API
      • Character List API
      • Evaluation API
Powered by GitBook
On this page
  • Prerequisites
  • Step 1: Prepare Your Unity Project
  • Step 2: Configure Build Settings
  • Step 3: Manually add Required Files
  • Step 4: Install required gRPC dlls for iOS:
  • Step 5: Build the Xcode Project
  • Step 6: Configure and Build in Xcode
  • Step 7: Build and Run
  • Troubleshooting

Was this helpful?

  1. Plugins & Integrations
  2. Unity Plugin
  3. Building For Supported Platforms

Building for iOS/iPadOS

This guide will walk you through the process of installing Convai-powered Unity applications on iOS and iPadOS devices.

PreviousBuilding For Supported PlatformsNextBuilding for WebGL

Last updated 5 months ago

Was this helpful?

Prerequisites

Before you begin, make sure you have the following:

  • Unity 2022.3 or later

  • Xcode (latest version recommended)

  • Apple Developer account

  • Project with Convai's Unity SDK integrated and running properly

  • MacBook for building and deploying to iOS/iPadOS

Step 1: Prepare Your Unity Project

  1. Open your Convai-powered Unity project.

  2. Ensure you have the latest version of the Convai Unity SDK into your project.

Step 2: Configure Build Settings

  1. In Unity, go to File → Build Settings.

  2. Select iOS as the target platform.

  3. Click Switch Platform if it's not already selected.

  4. Check the Development Build option for testing purposes.

If you wish to add a few required files manually, follow step 3. If you want it to be done automatically, jump to step 4

Step 3: Manually add Required Files

Add link.xml

  1. Create a new file named link.xml in your project's Assets folder.

  2. Add the following content to the file:

<linker>
  <assembly fullname="UnityEngine">
    <type fullname="UnityEngine.Application" preserve="fields">
      <property name="platform"/>
    </type>
  </assembly>
</linker>

This file prevents potential FileNotFoundException errors related to the libgrpc_csharp_ext.x64.dylib file.

Add BuildIos.cs Script

  1. Create a new C# script in Assets/Convai/Scripts named iOSBuild.cs.

  2. Add the following content to the script:

#if UNITY_EDITOR && UNITY_IOS
using System.IO;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
using UnityEngine;

public class iOSBuild : MonoBehaviour
{
    [PostProcessBuild]
    public static void OnPostProcessBuild(BuildTarget target, string path)
    {
        string projectPath = PBXProject.GetPBXProjectPath(path);
        PBXProject project = new PBXProject();
        project.ReadFromString(File.ReadAllText(projectPath));
#if UNITY_2019_3_OR_NEWER
        string targetGuid = project.GetUnityFrameworkTargetGuid();
#else
        string targetGuid = project.TargetGuidByName(PBXProject.GetUnityTargetName());
#endif
        project.AddFrameworkToProject(targetGuid, "libz.tbd", false);
        project.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
        File.WriteAllText(projectPath, project.WriteToString());
    }
}
#endif

Step 4: Install required gRPC dlls for iOS:

  1. Go to Convai -> Custom Package Installer

  2. Click on Install iOS Build Package

  3. Attach the script iOSBuild.cs to any GameObject in your scene.

Step 5: Build the Xcode Project

  1. In Unity, go to File → Build Settings.

  2. Click Build and choose a location to save your Xcode project.

  3. Wait for Unity to generate the Xcode project.

Step 6: Configure and Build in Xcode

  1. Open the generated Xcode project.

  2. In Xcode, select your project in the navigator.

  3. Select your target under the "TARGETS" section.

  4. Go to the "Signing & Capabilities" tab.

  5. Ensure that "Automatically manage signing" is checked.

  6. Select your Team from the dropdown (you need an Apple Developer account for this).

  7. If needed, change the Bundle Identifier to a unique string.

Step 7: Build and Run

  1. Connect your iOS device to your Mac.

  2. In Xcode, select your connected device as the build target.

  3. Click the "Play" button or press Cmd + R to build and run the app on your device.

Troubleshooting

  • If you encounter any build errors, ensure all the steps above have been followed correctly.

  • Check that your Apple Developer account has the necessary provisioning profiles and certificates.

  • If you face any GRPC-related issues, verify that the libgrpc_csharp_ext.a and libgrpc.a files are correctly placed in the Assets/Convai/Plugins/gRPC/Grpc.Core/runtime/ios folder.

imported
and setup
Unity project with Convai SDK imported
Unity Build Settings window with iOS selected and Development Build checked
Unity project view showing the link.xml file in the Assets folder
Xcode window showing the Signing & Capabilities tab with Team and Bundle Identifier fields highlighted
Xcode toolbar showing the connected device selected and the "Play" button highlighted