FInterfaceProperty::SerializeItem (and ImportText) attempt to determine if the passed in object implements the interface in question. They do this by calling GetInterfaceAddress, which tries to get a pointer to the interface portion of the object itself. There are 3 cases:
The case breaking here is #3, and serialization should probably use a different function to verify that it can be properly set. This code is quite old and predates TScriptInterface, which allows safely storing objects that bp-implement a native interface
How does TextureRenderTarget2D get TArray<uint8> type data?
Why does the REMOVE method of map container remove elements have memory leaks?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
How do I set a material as a post-processing material?
How to delete some elements correctly when deleting an array loop?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-133116 in the post.
0 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.26, 5.0 |
Target Fix | 5.0 |
Created | Oct 28, 2021 |
---|---|
Resolved | Jan 13, 2022 |
Updated | Feb 3, 2023 |