Using the Cognitive3D SDK for Unreal
Welcome! This page will help you quickly implement Cognitive3D Analytics into your Unreal Engine project. Once implemented, our SDK and dashboards will provide analytics and insights about your participants' behavior in VR and AR. In addition, Cognitive3D empowers you to take actions that will improve participants' engagement with your experience.
This plugin requires Unreal version 4.26.2 or newer. Make sure you use the correct SDK for your version of Unreal.
Step 1: Sign up
You can get started for free at cognitive3d.com.
Step 2: Download the SDK
Our plugin is available on our Github Release page for each major engine release.
Step 3: Import the SDK
Extract the plugin into your project directory. Rename the plugin folder to "Plugins".
Unreal Plugins
Your Unreal project must be a C++ project to use plugins. To convert a Blueprint Project to a C++ project, see Converting a project
Step 4: Project Setup
From the Cognitive3D Menu, choose Open Full Project Setup.
Authentication
The first section prompts you to enter your Developer API Key from the Cognitive3D Dashboard. It is used for several editor tasks, such as scene upload. For security reasons, you should not include the c3dlocal/Cognitive3DKeys.ini file in your source control.
You can create or retrieve your Developer Key from the Cognitive3D dashboard page for the project you're working on. Go to the "Gear" icon and select "Manage Developer Key" to bring up the dialog to create or copy your Developer Key.
Press 'Validate Developer Key' - this will retrieve the Application Key. The Application Key is used to record session data from your application to the Cognitive3D platform.
Player Inputs
The position and orientation of the player camera, controllers, and hands are recorded automatically.
If your project uses the Enhanced Input system, the inputs are tracked automatically. If your project uses the legacy Unreal Engine input system, you will be prompted to append our C3D inputs to the project's DefaultInput.ini file.
Scene Export
This section displays the scenes where the participants are recorded. By exporting scenes, you gain context about how your users interact in their environments.
Set a temporary export directory, which will be used by our SDK to export and upload selected levels to our dashboard.
In the level list, you will see all the levels in your project. If they are tracked by Cognitive3D, you will see a unique SceneId as well. Select any levels you want to upload here - you'll be prompted to upload the levels later.
Two options are available:
- Compress Textures - reduces the maximum resolution of your exported textures. This does not effect your source files - only the temporarily exported copies. We strongly recommend compressing your textures to enhance performance of session playback on the Cognitive3D platform.
- Upload Dynamic Objects - exports and uploads Dynamic Object Meshes found in your levels
Third Party SDKs
We include additional support for common third party SDK features. This includes hardware-specific features like eye tracking, and deeper integrations with features like Meta's Passthrough.
You can review notable features for each SDK in the tooltip.
Make sure you have the appropriate plugins installed in your project!
Finalize setup and restart editor
Finalizing the setup will perform steps to:
- Export and upload selected Unreal levels
- Export and upload Dynamic Objects (if the toggle is selected)
- Recompile the plugin to enable any third-party SDKS
Recompiling can take a few minutes but should only occur when changing third party SDKs.
Step 5: Feature Builder (Optional)
The Feature Builder provides code samples and common buttons for setting up advanced features. See the Feature Builder page for details.
Done
Press Play in the Editor and you will see a new session on the Dashboard. (Be sure to toggle on Editor Mode in the tag selector on the dashboard; editor sessions are hidden by default if any in-device sessions exist for your project.)
If you have a question or any feedback about our documentation please use the Intercom button (purple circle) in the lower right corner of any web page or join our Discord.