It is my impression that an array of GC-aware references to C++ implementations of an Unreal Interface class (declared with UINTERFACE, etc) can be made like so:
Well, I for one am satisfied to have an answer, even if the project it was for has long ago been laid at peace. I will try to test this and accept the answer if I have the time (Though I may end up forgetting—I’m not even working on anything in Unreal at this exact moment).
One thing to note is TWeakInterfacePtr does not propagate cv qualifiers of the template type. Didn’t have this issue with TWeakObjectPtr. So TWeakInterfacePtr<const IMyInterface> won’t compile. I had to use TWeakInterfacePtr<IMyInterface> and cast away the constness with a const_cast<IMyInterface*> prior to invoking the TWeakInterfacePtr constructor.