Navigation
API > API/Editor > API/Editor/UnrealEd
This class is used for packages that need to be split into multiple runtime packages. It provides the instructions to the cooker for how to split the package.
| Name | ICookPackageSplitter |
| Type | class |
| Header File | /Engine/Source/Editor/UnrealEd/Public/CookPackageSplitter.h |
| Include Path | #include "CookPackageSplitter.h" |
Syntax
class ICookPackageSplitter
Derived Classes
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~ICookPackageSplitter() |
Virtual API functions - functions called from the cooker after creating the splitter. | CookPackageSplitter.h |
Structs
| Name | Remarks |
|---|---|
| FGeneratedPackage | Data sent to the cooker to describe each desired generated package. |
| FGeneratedPackageForPopulate | Representation of generated packages prepared by the cooker. |
| FGenerationManifest | Data sent to the cooker to describe what to generate. |
| FPopulateContext | Context passed into Populate, PreSave, and PostSave functions, on the Generator package and on the Generated packages. |
Enums
Public
| Name | Remarks |
|---|---|
| EGeneratedRequiresGenerator | Return value for the DoesGeneratedRequireGenerator function. |
| ETeardown |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FGeneratedPackageForPreSave | FGeneratedPackageForPopulate | FGeneratedPackageForPreSave and FGeneratedPackageForPopulate were two different structs that were so far identical, given separate identical definitions because we wanted to reserve the ability to change one but not the other. | CookPackageSplitter.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bDeprecatedVirtualCalledAsExpected | bool | CookPackageSplitter.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Return capability setting which indicates which splitter functions acting on the parent generator package must be called on the splitter before splitter functions acting on the generated packages can be called. | CookPackageSplitter.h | ||
virtual TArray< FGeneratedPackage > GetGenerateList
(
const UPackage* OwnerPackage, |
Return the list of packages to generate. | CookPackageSplitter.h | |
| Called when the Owner package needs to be reloaded after a garbage collect in order to populate a generated package. | CookPackageSplitter.h | ||
virtual bool PopulateGeneratedPackage
(
UPackage* OwnerPackage, |
CookPackageSplitter.h | ||
virtual bool PopulateGeneratedPackage
(
FPopulateContext& PopulateContext |
Try to populate a generated package. | CookPackageSplitter.h | |
virtual bool PopulateGeneratorPackage
(
UPackage* OwnerPackage, |
CookPackageSplitter.h | ||
virtual bool PopulateGeneratorPackage
(
FPopulateContext& PopulateContext |
Called before presaving the parent generator package, to give the generator a chance to inform the cooker which objects will be moved into the generator package that are not already present in it. | CookPackageSplitter.h | |
virtual void PostSaveGeneratedPackage
(
UPackage* OwnerPackage, |
CookPackageSplitter.h | ||
virtual void PostSaveGeneratedPackage
(
FPopulateContext& PopulateContext |
Called after saving a generated package. | CookPackageSplitter.h | |
virtual void PostSaveGeneratorPackage
(
UPackage* OwnerPackage, |
CookPackageSplitter.h | ||
virtual void PostSaveGeneratorPackage
(
FPopulateContext& PopulateContext |
Called after saving the parent generator package. | CookPackageSplitter.h | |
virtual bool PreSaveGeneratedPackage
(
FPopulateContext& PopulateContext |
Called before saving a generated package, after PopulateGeneratedPackage. | CookPackageSplitter.h | |
virtual bool PreSaveGeneratedPackage
(
UPackage* OwnerPackage, |
CookPackageSplitter.h | ||
virtual bool PreSaveGeneratorPackage
(
UPackage* OwnerPackage, |
CookPackageSplitter.h | ||
virtual bool PreSaveGeneratorPackage
(
FPopulateContext& PopulateContext |
Called before saving the parent generator package, after PopulateGeneratorPackage but before PopulateGeneratedPackage for any generated packages. | CookPackageSplitter.h | |
virtual FGenerationManifest ReportGenerationManifest
(
const UPackage* OwnerPackage, |
Return the list of packages to generate. | CookPackageSplitter.h | |
virtual bool RequiresGeneratorPackageDestructBeforeResplit () |
An ICookPackageSplitter for a single generator package normally is constructed only once and handles all generated packages for that generator, but during MPCook in cases of load balancing between CookWorkers, it is possible that the original splitter is destructed but then recreated later. | CookPackageSplitter.h | |
| Do teardown actions after all packages have saved, or when the cook is cancelled. | CookPackageSplitter.h | ||
virtual bool UseInternalReferenceToAvoidGarbageCollect() |
If true, this splitter forces the Generator package objects it needs to remain referenced, and the cooker should expect them to still be in memory after a garbage collect so long as the splitter is alive. | CookPackageSplitter.h | |
void WarnIfDeprecatedVirtualNotCalled
(
const TCHAR* FunctionName |
CookPackageSplitter.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Return the full packagename that will be used for a GeneratedPackage, based on the GeneratorPackage's name and on the RelPath and optional GeneratedRootPath that the splitter provides in the FGeneratedPackage it reports in the GenerationManifest. | CookPackageSplitter.h | ||
static const TCHAR * GetGeneratedPackageSubPath() |
The name of the Generated subdirectory that is the parent directory of a splitter's generated packages. | CookPackageSplitter.h | |
static FString GetSplitterDebugName() |
Return DebugName for this SplitterClass in cook log messages. | CookPackageSplitter.h | |
static bool IsUnderGeneratedPackageSubPath
(
FStringView FileOrLongPackagePath |
Return true if the given path is a Generated directory, or a subpath under it. | CookPackageSplitter.h | |
static bool RequiresCachedCookedPlatformDataBeforeSplit () |
Static API functions - these static functions are referenced by REGISTER_COOKPACKAGE_SPLITTER before creating an instance of the class. | CookPackageSplitter.h | |
static bool ShouldSplit
(
UObject* SplitData |
Return whether the CookPackageSplitter subclass should handle the given SplitDataClass instance. | CookPackageSplitter.h |