The incorrect use of NewObject() to instance nested class-owned subobjects will force StaticAllocateObject() to reconstruct the instance that was already constructed by the outer class ctor in native engine code. This will eventually result in a call to the UObjectBase dtor.
When async loading is enabled, the UObjectBase destruction will assert if the load results in this code path occurring on an async load worker thread rather than the main (game) thread.
Suggested workarounds are as follows (only one of the following is needed):
[BlueprintNativizationSettings] +ExcludedBlueprintTypes=/Script/UMGEditor.WidgetBlueprint
[BlueprintNativizationSettings] +ExcludedAssets=/Game/Widgets/MyWidgetBlueprint.uasset
How does TextureRenderTarget2D get TArray<uint8> type data?
Why does the REMOVE method of map container remove elements have memory leaks?
How do I set a material as a post-processing material?
How to delete some elements correctly when deleting an array loop?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
UMG RichText not appear image when packaged
Does media player's OpenFile method support dynamically opening a video file?
How does TArray loop correctly remove elements in blueprints?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-87038 in the post.
0 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.22, 4.23, 4.24 |
Target Fix | 4.25 |
Created | Jan 18, 2020 |
---|---|
Resolved | Jan 18, 2020 |
Updated | Feb 5, 2020 |