Navigation
API > API/Plugins > API/Plugins/CustomizableObjectEditor > API/Plugins/CustomizableObjectEditor/MuCOE > API/Plugins/CustomizableObjectEditor/MuCOE/FExtensionDataCompilerInterface
References
| Module | CustomizableObjectEditor |
| Header | /Engine/Plugins/Experimental/Mutable/Source/CustomizableObjectEditor/Public/MuCOE/ExtensionDataCompilerInterface.h |
| Include | #include "MuCOE/ExtensionDataCompilerInterface.h" |
| Source | /Engine/Plugins/Experimental/Mutable/Source/CustomizableObjectEditor/Private/MuCOE/ExtensionDataCompilerInterface.cpp |
mu::ExtensionDataPtrConst MakeStreamedExtensionData
&40;
UCustomizableObjectExtensionDataContainer &42;& OutContainer
&41;
Remarks
Register a new Extension Data compile-time constant that will be streamed in on demand.
This constant will be cooked out to its own package and will be loaded as needed.
Importantly, any UObjects that are referenced by the Extension Data that aren't in an asset package should have the container returned from this function as their Outer. This ensures that they get cooked into the correct package for streaming.
For example, if the Extension Data has a dynamically generated USkeletalMesh that it references, which doesn't belong to another asset, the USkeletalMesh should have the given container as its Outer.
Assign the constant data to the FInstancedStruct within the container's Data member.
The provided FInstancedStruct will be visible to the garbage collector, so any object references from UPROPERTYs in the instanced struct will be treated as hard references from the Customizable Object.
Don't save any references to objects under the container as string paths, e.g. using TSoftObjectPtr, because the container will be moved to a different package during cooking and your paths won't be automatically updated.