Skip to content

General Debugging

In Edit->Project Settings->Cognitive3D, you make sure Enable Logging is enabled. If something isn't working, there will almost certainly be a message in the Output Log.

Updating SDK plugin

The Unreal SDK is constantly receiving new features and bug fixes. To upgrade the Cognitive3D SDK, close Unreal and delete the Plugins/Cognitive3D folder. Add the new SDK (you can download this from Github) and open Unreal Editor. You should be prompted to rebuild the plugin binary files.

Newer Versions

The SDK supports Unreal Engine 4.26.2 and newer. We also offer limited support of older Unreal Engine versions. There should be packages for each major engine versions on the Github page with some small changes. Make sure you are using the correct plugin version. If you are having trouble implementing the SDK into your version of the Unreal Engine, please get in touch!

Converting a Blueprint Project to C++

You should have Visual Studio set up to develop for C++. See the Unreal Docs to configure Visual Studio.

As described in the Unreal Docs, open the project and press New C++ Class which can be found in the Tools menu (this may be in the File menu in earlier versions of Unreal Engine). Complete this C++ Class Wizard and create any class. This class can safely be deleted later. This should create Binaries, Intermediate and Source in your project directory. Your project now has C++ enabled and can use plugins.

create cpp

create cpp

SceneExplorer

GLTF Export crashes

In certain configurations, the GLTF export module we use may crash Unreal Editor with this error:

Fatal error:
[File:D:\build\++UE5\Sync\Engine\Source\Runtime\RHICore\Private\RHICoreShader.cpp]
[Line: 36] Shader requested a global uniform buffer of type 'VirtualShadowMap'
at static slot '[Name: VirtualShadowMapUbSlot, Slot: 6]', but it was null.
The uniform buffer should be bound using RHICmdList.SetStaticUniformBuffers()
or passed into an RDG pass using SHADER_PARAMETER_STRUCT_REF()
or SHADER_PARAMETER_RDG_UNIFORM_BUFFER().

To solve this, open the Engine - Rendering section of Project Settings. Set Forward Shading to False. You will need to restart the engine.

forward shading setting

This Forward Shading option only needs to be disabled during the GLTF export step. It can be re-enabled after the export is complete.

Some textures don't appear correctly on SceneExplorer

  • Complex materials in Unreal may not appear correctly in SceneExplorer. To avoid issues, the diffuse output from a material should adequately represent the object.

Some meshes are not exported

  • Some types of rendering components are not exported correctly. This includes TextRenderers. Skeletal Meshes will not correctly export materials in versions before 4.26.

Some meshes I don't want are exported

  • Try enabling Only Export Selected in the Cognitive Scene Setup window and Selecting the objects you want.

Exporting Metahumans

Exporting Metahumans to be displayed in a scene or as a Dynamic Object is supported. Hair rendering and skeletal animations are not supported. Use the following settings to export the high resolution LOD:

  • Level of Detail: 0

No Sessions recorded

There are a few common reasons session data from your project might not display on SceneExplorer:

No Cognitive3D Actor in the level

Make sure there is a Cognitive3D Actor in the level. This should be added automatically when using the Scene Setup Window, or can be found in Cognitive3D/Content/

The scene does not have a SceneId associated with it

The SceneId is used to send session data to the correct scene on SceneExplorer. Without a SceneId, data is not collected and not uploaded. Make sure you have uploaded your scene using Window->Cognitive Scene Setup.

Unreal Engine is not correctly reading the Application Key

Whenever you upload the first version of a scene for the first time, it is recommended that you restart the Unreal Editor so that the configuration changes are read correctly. This is most likely to be the case only on first upload.

Eye Tracking

If you are using eye tracking hardware for your project, you can record Fixations to give you a detailed look at how your participants are focusing throughout your experience.

We use the 3rd party eye tracking plugins to record Fixations and Gaze using Eye Tracking. The plugin dependencies should be configured automatically if the plugin folder is present and the third party directory name hasn't been changed. If you are not recording eye tracking with any of these SDKs and Eye Tracking is enabled, you may need to open the Cognitive3D.Build.cs and manually include the modules.

These are the supported Eye Tracking SDKs:

  • TobiiEyeTracking
  • SRanipal (this includes version 1.2 and 1.3)
  • Varjo
  • PicoMobile
  • HPGlia

Varjo branch of Unreal Engine

If you are using the Varjo branch of the Unreal Engine, you need to add the following to the Cognitive3D.Build.cs file.

PublicDependencyModuleNames.Add("VarjoHMD");
PublicDependencyModuleNames.Add("VarjoEyeTracker");

intercom 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.