Yet for some reason the unreal code base is complaining that I am trying to bind to a native c++ method because its also a UObject?
Does this make any since to anyone?
So you want me to take aperfectly good pointer, and toss it out. Instead give you textual name, to UFUNCTION(), so you can later iterate through a list of UFUNCTIONS() to find the proper pointer that you refused to let me pass in?
And you call this change good?
There is Nothing like flushing the instruction pipe, and cache misses to speed up a program…
The UObjects are governed by Unreal’s garbage collection system. Hence a raw pointer on a UObject might get invalidated when you don’t expect it. You can use .AddUObject() on a delegate instead of using .AddRaw() if you want to add a callback to a function of a UObject.
If that’s now what your question is about, you should try and rephrase it, because your text comes across as a complaint rather than a question.