I was about to wrap the map in a struct, when I thought I’d see if just declaring it as a six parameter delegate would work at all. It did, not only that, but there don’t seem to be any noticeable issues. Here’s the declaration:
It works because of how the token expansion occurs inside the macro, but I would say it’s not something you should learn to rely on. A better solution would be to typedef your type:
This trick doesn’t work for dynamic delegates, unfortunately, as UnrealHeaderTool doesn’t understand typedefs. In that case, you should put your map inside a USTRUCT and then pass that instead.