Navigation
API > API/Runtime > API/Runtime/CoreUObject
A base struct for storing FObjectInitializers that were not run on Blueprint objects post-construction (presumably because the object's super/archetype had not been fully serialized yet).
This was designed to hold onto FObjectInitializers until a later point, when they can properly be ran (after the archetype has been serialized).
| Name | FDeferredInitializationTrackerBase |
| Type | struct |
| Header File | /Engine/Source/Runtime/CoreUObject/Public/Blueprint/BlueprintSupport.h |
| Include Path | #include "Blueprint/BlueprintSupport.h" |
Syntax
struct FDeferredInitializationTrackerBase
Derived Classes
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FDeferredInitializationTrackerBase() |
Blueprint/BlueprintSupport.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FObjectInitializer * Add
(
const UObject* InitDependency, |
Makes a copy of the specified initializer and stores it (mapped under its dependency), so that it can instead be executed later via ResolveArchetypeInstances(). | Blueprint/BlueprintSupport.h | |
virtual bool DeferPreload
(
UObject* Object |
Determines if the specified object needs to have its Preload() call deferred (this is meant to be called from Preload() itself). | Blueprint/BlueprintSupport.h | |
bool IsInitializationDeferred
(
const UObject* Object |
Checks to see if the specified object has had its initialization deferred (meaning a super/archetype hasn't had FObjectInitializer::PostConstructInit() ran on it yet). | Blueprint/BlueprintSupport.h | |
void ResolveArchetypeInstances
(
UObject* ArchetypeKey |
Runs all deferred initializers that were dependent on the specified archetype (unless they're dependent on another), and runs Preload() on any objects that had their Preload() skipped as a result. | Blueprint/BlueprintSupport.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool IsResolving
(
UObject* ArchetypeInstance |
Used to keep DeferPreload() from re-adding objects while we're in the midst of resolving. | Blueprint/BlueprintSupport.h | |
void PreloadDeferredDependents
(
UObject* ArchetypeInstance |
Runs through all objects that had their Preload() skipped due to an initializer being deferred. | Blueprint/BlueprintSupport.h | |
virtual bool ResolveDeferredInitialization
(
UObject* ResolvingObject, |
Runs the deferred initializer for the specified archetype object if its not dependent on other archetypes (like a sub-object that first requires the super's CDO to be constructed, and then for its archetype to be serialized). | Blueprint/BlueprintSupport.h |