Hi,
I am new to UE, and recently reading code of blueprint, I encounter this uber graph, but I find hard to understand this concept. It seems not a event graph or a function graph, and I cannot see a UI representation, if any, in the bp editor.
In code, I got this in UBlueprintGeneratedClass::CreatePersistentUberGraphFrame() method:
uint8* FrameMemory = NULL;
const bool bUberGraphFunctionIsReady = UberGraphFunction->HasAllFlags(RF_LoadCompleted); // is fully loaded
if (bUberGraphFunctionIsReady)
{
INC_MEMORY_STAT_BY(STAT_PersistentUberGraphFrameMemory, UberGraphFunction->GetStructureSize());
FrameMemory = (uint8*)FMemory::Malloc(UberGraphFunction->GetStructureSize());
FMemory::Memzero(FrameMemory, UberGraphFunction->GetStructureSize());
for (FProperty* Property = UberGraphFunction->PropertyLink; Property; Property = Property->PropertyLinkNext)
{
Property->InitializeValue_InContainer(FrameMemory);
}
}
It looks like all it does is just to initialize the “tail” property’s value on the heap, and point a uber graph to that piece of memory. Why would we need this? It makes little sense to me…
Please leave comments or pointers of related reading stuff, thanks!