Known Issues
On this page
- Unreal Engine on Mac
- Missing Live Views on mobile devices
- Missing input for in-world Views on Android
- Missing input for in-world Views using Vulkan rendering
- No sound in videos playing on iOS
- Slow loading of UI resources over HTTP(S)
- Unreal Memory Insights on XboxOne(GDK) and Scarlett
- Unreal Engine 5.6 issues
Unreal Engine on Mac
Unreal Engine is crashing on Mac version 10.12 (Sierra) or lower with an integrated video card, due to a driver bug. You can resolve this by upgrading to a newer version of Mac, for example, 10.13 (High Sierra).
Using a source checkout with trial packages
All plugins/games that come with Gameface are prebuilt using the latest Unreal Engine version. If you want to run them, you will need to Generate Project Files from your game’s .uproject file and build from source.
Missing Live Views on mobile devices
There is an issue with the live views that causes them to not be rendered on Android and iOS. As a workaround, you can add a black background behind the live view in the html as shown here:
<div id="liveView1" class="layoutStyle98 positionStyle185 leftMask" style="background:black;">
<img src="TextureRenderTarget2D'/Game/MapAssets/LiveViews/RenderTargetOnPlayer.RenderTargetOnPlayer'"
class="visualStyle357 layoutStyle99 positionStyle193">
</div>
Missing input for in-world Views on Android
Input for in-world Views requires getting the Mesh data from the GPU so the plugin can determine the position of the input event in our Gameface View. However, this functionality is not supported by UE4’s GLES implementation for Android.
To have a working input for in-world Views on Android, Support UV From Hit Results should be enabled in the Physics Settings.
.apk, as Unreal Engine will start storing the UV coordinates for each Mesh.Missing input for in-world Views using Vulkan rendering
Input for in-world Views requires getting the Mesh data from the GPU, but the Vulkan API does not support this yet, so instead the plugin has to access the CPU data, if it is available.
To have a working input for in-world Views using Vulkan, the Allow CPU Access option should be enabled in the Static Mesh settings of the meshes, used for the in-world Views.
No sound in videos playing on iOS
Playing a video on iOS has no sound because Unreal Engine has no implementation for Procedural sounds for this platform.
Slow loading of UI resources over HTTP(S)
The slow loading of UI resources over HTTP(S) is due to the default Unreal Engine settings for HTTP, making the download of files over HTTP(S) very slow. Large resources will be affected the most, such as 4K images and video files.
By adding this to the Engine.ini configuration of your project or engine, you can significantly optimize the download speeds:
[HTTP]
HttpThreadActiveFrameTimeInSeconds=0.00001
[HTTP.Curl]
BufferSize=524288
To find out more about this problem and the suggested Engine.ini changes, you can check this related community conversation.
Unreal Memory Insights on XboxOne(GDK) and Scarlett
Due to the intrinsic specifics of V8 (the JavaScript VM that Gameface uses) on the Xbox platforms, currently, it is not possible to utilize the Unreal Memory Insights feature for our plugin.
For this reason, if Gameface detects that memory tracing has been enabled on Xbox platforms, Gameface allocations won’t happen through GMalloc, because in such cases GMalloc is actually the allocator that the Memory Insights feature uses. Instead, we utilize the FPlatformMemory::BaseAllocator API, which returns the default platform allocator without the Memory Insights one acting as an intermediary.
Intrusive assert in XboxCommonPlatformMemory on some Unreal versions
Between Unreal Engine’s 4.27 and 5.3 versions at one point a conditional log (UE_CLOG) was added to the FXboxCommonPlatformMemory::BaseAllocator() definition in the XboxCommonPlatformMemory.cpp file:
FMalloc* FXboxCommonPlatformMemory::BaseAllocator()
{
UE_CLOG(GMallocInstance, LogInit, Fatal, TEXT("FPlatformMemory::BaseAllocator is not expecting be called multiple times") );
CreateMallocInstance();
return GMallocInstance;
}
Epic’s developers later seem to have realized the unnecessary assertion that this produces, so in 5.3 the code was switched to:
FMalloc* FXboxCommonPlatformMemory::BaseAllocator()
{
if (GMallocInstance != nullptr)
{
return GMallocInstance;
}
CreateMallocInstance();
return GMallocInstance;
}
XboxCommonPlatformMemory.cpp file, using the second code snippet.Unreal Engine 5.6 issues
Linux deadlock
In Unreal Engine 5.6.0 and 5.6.1 there is a chance that a deadlock may occur with Linux builds, due to these changes done for the Vulkan RHI, where RHI submission and interrupt threads, and timeline semaphore got introduced. Although the commit states these threads should be disabled by default, they are not. It is highly recommended to pre-configure your LinuxEngine.ini and LinuxArm64Engine.ini files to include the same Vulkan configurations that Epic have added for Android:
r.Vulkan.Submission.AllowTimelineSemaphores=0
r.Vulkan.Submission.UseInterruptThread=0
r.Vulkan.Submission.UseSubmissionThread=0
r.Vulkan.RHIThread=1
r.Vulkan.AllowAsyncCompute=0
This should resolve deadlock issues on Linux.