How to Build Convai-Powered AI NPC VR Projects in Unity for Meta Quest

By
Convai Team
May 23, 2026

Key Takeaways

  • Import the Convai Unity SDK via Package Manager using the Git URL com.convai.convai-sdk-for-unity, load the lip sync sample scene, and configure your API key before touching any VR settings.
  • Install XR Plugin Management and XR Interaction Toolkit from the Unity Registry. Enable OpenXR with Meta Quest Support and both Touch Controller profiles. Fix all Project Validation errors.
  • Replace the default camera with XR Origin. Delete the default Event System and replace it with XR UI Event System.
  • Convert the Convai chat UI canvas to World Space, set Alpha to 1, lower the scale, and add Tracked Device Graphic Raycaster for VR controller interaction.
  • Enable Custom Main Manifest, comment out the default activity in AndroidManifest.xml, and add the Meta Quest overlay keyboard permission before building.

Getting a Convai AI character working on a flat screen is one thing. Getting one that runs correctly inside a Meta Quest headset requires a specific sequence across SDK setup, XR plugins, camera configuration, UI conversion, and Android build settings. Miss one step and the character does not appear, the chat UI is invisible, or the build fails.

This tutorial walks through the complete process. Starting from a Unity project with the Convai Unity SDK set up and the lip sync sample working, every VR-specific configuration step is covered in order, ending with a working Convai AI character running inside a Meta Quest headset.

Watch the full tutorial below:

Also read: Bring Your Unity Characters to Life: Conversational AI with WebRTC and NeuroSync

What Do You Need Before Starting?

  • A Unity project with the Convai SDK imported. Package name: com.convai.convai-sdk-for-unity. Install via Window > Package Manager > + > Install Package from Git URL. Follow the Unity SDK setup tutorial for the full setup including API key configuration.
  • The Convai lip sync sample scene imported and working in flat-screen mode. Import it from the Package Manager Samples menu and launch it. Import TextMesh Pro Essentials when prompted.
  • Android build target. This tutorial builds for Meta Quest, which runs Android.

If the lip sync sample is not working in flat-screen mode, fix that first. Debugging a broken Convai setup inside a headset is significantly harder than on a monitor.

How Do You Install and Configure the XR Plugins?

Unity does not ship with VR support enabled. You need two packages from the Unity Registry and a specific configuration sequence.

Step 1: Install XR Plugin Management

  • Go to Window > Package Manager
  • Switch to Unity Registry in the dropdown
  • XR Plugin Management — search for it and install

Step 2: Install XR Interaction Toolkit

  • XR Interaction Toolkit — search in Unity Registry and install
  • In the Samples menu for XR Interaction Toolkit, import Starter Assets — this includes the camera rig

Step 3: Enable OpenXR

  • Go to Edit > Project Settings > XR Plugin Management
  • Check the OpenXR plugin provider
  • Click the warning sign and fix all issues that appear
  • Under OpenXR, enable Meta Quest Support
  • Add Meta Quest Touch Controller Profile and Meta Quest Touch Plus Controller Profile
  • Go to Project Validation and fix all reported errors

Do not skip Project Validation. Unresolved errors here commonly cause build failures or broken controller behavior on device.

Step 4: Switch Build Target to Android

  • Go to File > Build Profiles, select Android, and click Switch Platform
  • In Player Settings > XR Plugin Management, confirm OpenXR is checked for the Android tab

Also read: How to Build Mixed Reality AI Characters in Unity with Convai on Meta Quest (2026)

How Do You Set Up the VR Camera for Your Convai Character?

The default Convai scene uses a standard Unity camera that does not work in VR. Replace it with XR Origin and adjust the character position.

  • In the hierarchy, navigate to Convai > Orbit Camera and uncheck it
  • Search for XR Origin and add it to the scene hierarchy
  • Adjust the Transform Position values on XR Origin so your Convai character is visible in Game view

Switch to Game view after each adjustment to verify the character appears at a comfortable viewing distance for VR.

How Do You Fix the Event System for VR?

The default Unity Event System is not compatible with VR input. If you leave it in the scene, the Convai chat UI will not respond to VR controller pointer events.

  • Find the default Event System in the hierarchy and delete it
  • Add the XR UI Event System in its place

This is a commonly missed step. The chat UI appears visible but buttons and text input do not respond to controllers without it.

How Do You Convert the Convai Chat UI to World Space for VR?

In flat-screen mode the Convai chat UI is a screen-space overlay. In VR it must exist as a physical object in the 3D world. Converting and scaling it correctly is one of the more finicky parts of the setup.

Canvas Settings

  • Select the Convai chat UI canvas in the hierarchy
  • In the Inspector, change Render Mode to World Space
  • Reset the Position values to zero
  • Under Canvas Group, set Alpha to 1; if this is 0 the UI is invisible in VR
  • Lower the Scale values significantly. The default scale is far too large for VR. Start small and increase until the UI is readable at NPC distance

VR Interaction Support

  • With the canvas selected, click Add Component and add Tracked Device Graphic Raycaster

The Tracked Device Graphic Raycaster enables VR controllers to interact with the canvas. Without it the UI is visible but not interactive.

Position Adjustment

Switch to Scene view and adjust the canvas position so the chat transcript floats near the character at a comfortable reading distance. Adjust the Recording and Settings icons separately if needed.

Also read: Build Vision-Based Conversational AI Characters in Unity

How Do You Add a Ground Plane to the VR Scene?

  • Create a Plane GameObject and add it to the scene
  • Reset its Transform values to zero
  • Use Scale values to size it for your scene

How Do You Configure the Android Manifest for Meta Quest?

The default Android manifest Unity generates is not correct for VR deployments. Two changes are required.

Step 1: Enable Custom Main Manifest

  • Go to File > Build Profiles > Player Settings
  • Check Custom Main Manifest under Publishing Settings
  • Navigate to the generated AndroidManifest.xml in the Android folder and open it

Step 2: Comment Out the Default Activity

Find the default activity element in the manifest and comment it out. This is required for VR deployments.

Step 3: Add the Overlay Keyboard Permission

Add this line to enable the Meta Quest overlay keyboard for Convai text input:

<uses-feature android:name="oculus.software.overlay_keyboard" android:required="false">

Without this permission the Convai text input field may not work correctly on the device.

How Do You Improve Graphics Quality for the Meta Quest Build?

  • Navigate to the Settings asset folder
  • Double-click the Mobile Android render pipeline asset
  • Set Anti-aliasing to 8x

How Do You Build and Deploy the APK to Meta Quest?

  • Go to File > Build Profiles
  • Click Open Scene List, add your configured VR scene, and uncheck the lip sync sample scene
  • Click Build and select a destination folder
  • Install the APK on your Meta Quest via sideloading
  • Find the installed app under Unknown Sources in the Meta Quest library

In the demo, Camilla the Convai AI character is visible and immediately responsive. She answers questions about the Convai SDK, discusses which platforms Convai supports Unity, Unreal Engine, and other web integrations, and maintains conversational context across multiple follow-up questions.

According to the XR Industry Insight Report 2023 by VR Intelligence, 62% of XR developers believe AI will significantly enhance user engagement in immersive environments. A fully conversational AI character deployed to a Meta Quest headset in under an hour is a concrete step in that direction.

Do check out the Latest Convai Unity Plugin Documentation to learn more.

Sign up at convai.com to create AI characters and deploy them across VR, XR, games, simulations, and training applications. For technical questions, the Convai Developer Forum is the fastest place to get support.

Frequently Asked Questions

How do you set up Convai AI NPCs in a Unity VR project for Meta Quest?

Import the Convai Unity SDK via Package Manager using com.convai.convai-sdk-for-unity, import the lip sync sample, install XR Plugin Management and XR Interaction Toolkit, enable OpenXR with Meta Quest Support, replace the camera with XR Origin, swap the Event System for XR UI Event System, convert the chat UI to World Space, configure the Android manifest, and build for Android.

How do you configure the Convai chat UI for VR world space in Unity?

Change the canvas Render Mode to World Space, reset position to zero, set Alpha to 1 under Canvas Group, lower Scale values until the UI is readable in VR, and add Tracked Device Graphic Raycaster for VR controller interaction.

How do you fix the event system for VR in a Convai Unity project?

Delete the default Unity Event System from the hierarchy and replace it with the XR UI Event System. The default Event System does not support VR controller input and will prevent the Convai chat UI from responding to pointer events.

What OpenXR settings are required for Convai Unity VR on Meta Quest?

Enable OpenXR in XR Plugin Management. Under OpenXR, enable Meta Quest Support. Add Meta Quest Touch Controller Profile and Meta Quest Touch Plus Controller Profile. Run Project Validation and fix all reported errors before building.

What Android manifest change is required for Convai VR builds on Meta Quest?

Enable Custom Main Manifest in Player Settings. Open AndroidManifest.xml, comment out the default activity, and add: <uses-feature android:name="oculus.software.overlay_keyboard" android:required="false">. This enables the overlay keyboard for Convai text input on Quest devices.