Paired types (e.g. TMap) in a delegate signature do not compile after nativizing a Blueprint class containing it due to the macro expansion and comma inside the template spec between key and value types.
In "regular" native C++ code the suggested solution is to use a typedef (https://answers.unrealengine.com/questions/600369/declare-delegate-oneparam-makes-compile-error-on-p.html).
However in nativized Blueprint code, we will need to autogenerate a typedef to work around it.
One way to work around it for now is to manually modify the generated source after cooking to replace the signature and use a typedef that's added manually after the fact, but that's not ideal since most projects utilize the UAT BuildCookRun pipeline or a command that does.
N/A
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-59140 in the post.
3 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.19, 4.20 |
Created | May 15, 2018 |
---|---|
Resolved | Jul 15, 2021 |
Updated | Jul 19, 2021 |