C++关于UFunction的使用问题

今天看一个demo发现在GameMode->InitGame方法中使用了
UFunction* Func = AActor::GetClass()->FindFunctionByName(FName(TEXT(“ReceiveBeginPlay”)));
Func->FunctionFlags |= FUNC_Native;
Func->SetNativeFunc((Native)&ASGameMode::BeginPlayMutatorHack);

不明白是什么意思。BeginPlayMutatorHack本来就是当前GameMode类的函数。为什么调用还需要是用func->SetNativeFunc来调用。

期望得到解答,谢谢!