Known 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 Prysm 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 Prysm 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 Prysm uses) on the Xbox platforms, currently, it is not possible to utilize the Unreal Memory Insights feature for our plugin.
For this reason, if Prysm detects that memory tracing has been enabled on Xbox platforms, Prysm 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.