In Edit->Project Settings->CognitiveVR, you make sure Mute Info Messages and Mute Error Messages are disabled. If something isn't working, there will almost certainly be a message in the Output Log!
Unreal Engine 4.14.3 is supported with the SDK. There should be packages for major engine versions on the github release page. If you are having trouble implementing the SDK into your version of the Unreal Engine, please get in touch! The versions we support are:
Converting a Blueprint Project to C++¶
This assumes you have Visual Studio set up to develop for C++. From the Unreal Docs:
It's important to note that Visual Studio 2015 (VS2015) doesn't install C++ tooling support by default. When installing VS2015, choose Custom installation and then choose the C++ components that you'll need for your workflow. If you've already installed Visual Studio 2015, choose File > New > Project > C++ to install C++.
This is an example of how the root folder should look when the project has C++ enabled. Notice the Binaries, Intermediate and Source folders.
To enable C++ in the project, open the project. In the Content Browser, press 'Add New' and select 'New C++ Class...'
In this example, the parent class 'None' is fine. Press Next.
Name your class whatever you would like. This class can safely be deleted later. Press Create Class.
This should create the Binaries, Intermediate and Source folders in your project root. Your project now has C++ enabled and can use plugins!
Some textures don't appear correctly on SceneExplorer.com¶
- This is a known bug. It is related to special characters in the names of texture and/or materials in Unreal.
- ä, á â, ã and other special characters may not correctly keep their references when using Blender to decimate your scene.
- Replacing these characters in these texture/materials names in Unreal with ascii characters should fix this issue. After replacing these characters, make sure to export your scene again.
- Alternatively, modifying the exported .mtl and .obj files can fix the references to these textures and/or materials. Only try this if you are familiar with the .mtl and .obj file formats.
- Really complex materials in Unreal may not correctly find the diffuse texture required to display in SceneExplorer.
Why is my camera so slow?¶
- The camera might not be slow - the Unreal scene might be giant!
- Due to the scale used in Unreal, you must include the settings.json file that is created when running Blender to reduce scene geometry. This should be generated by default. The contents of this file are
Do I really need Blender?¶
- Technically no, but it drastically simplifies a lot of processes. Python scripts that run in Blender will convert image files to the correct format, create a settings.json file and move all required files into the correct directory for uploading. This would have to be done manually otherwise.
Some meshes are not exported¶
- Some types of rendering components are not exported correctly. This includes TextRenderers and Skeletal Meshes
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.
In some cases, it can be convenient to simply modify the exported scene.obj file in a 3d modeling program.
No data uploaded to Scene Explorer¶
There are three common reasons data from your play session might not display on SceneExplorer.com.
No PlayerTracker Component
Make sure there is a PlayerTracker component parented to your player's camera.
Missing Start Session Blueprint
Add an Analytics->Start Session blueprint in your level blueprints, connected to Event Begin Play. There are also other ways to start a session, including C++.
The scene does not have a SceneKey associated with it
The SceneId is used by the PlayerTracker component to send 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.
References to Dynamic Object not saved in Blueprint¶
In a rare case, it appears that Blueprint (both components on Blueprint Classes and nodes in the Event Graph) will not save references to Dynamic Object components. This occurs in 4.14 but may be fixed in newer versions.
A reference may reset if: a class is defined in C++ AND implements a Blueprint Event Graph. If this broken class references a Dynamic Object component OR any other Blueprint class which references a Dynamic Object component, the reference may reset.
The solution is: add
GetOwner()->GetComponentByClass(UDynamicObject::StaticClass()); in a non-constructor function in the broken class's C++ definition. It may also require that you add
#include "DynamicObject.h" to the header of your broken class.