Navigation
Unreal Engine C++ API Reference > Developer > CookedEditor
Inheritance Hierarchy
- ICookedEditorPackageManager
- FIniCookedEditorPackageManager
References
Module | CookedEditor |
Header | /Engine/Source/Developer/CookedEditor/Public/CookedEditorPackageManager.h |
Include | #include "CookedEditorPackageManager.h" |
Syntax
class ICookedEditorPackageManager
Remarks
Allows a project to control how packages are cooked when making a cooked editor.
Unlike a runtime game, a cooked editor typically needs to include all engine and plugin content, to make all resources available for the crafting of future games in the cooked editor with asset needs that are not yet known. When cooking a cooked editor target platform, an instance of this class adds the requests for all of that extra content.
The default implementation is FIniCookedEditorPackageManager which allows for Game.ini settings to control most functionality. By default (as set in BaseGame.ini) all content is cooked with a few class types and plugns that are not due to incompatibility with having been cooked and loaded by the editor.
If "Cook Against Release" mode is enabled, then making the cooked editor will act like "DLC" where it uses an already created Game or Client release and will not cook pacakges that are already in the release.
To override this class, generally you will want to override the Project functions in the first public section. In GetProjectPackagesToCook(), you can call AddPackagesFromPath to cook spefic project content subdirectories as needed
You likely can use just this class without needing to subclass TCookedEditorTargetPlatform at all, but you can do that if needed.
Destructors
Type | Name | Description | |
---|---|---|---|
Functions
Type | Name | Description | |
---|---|---|---|
void | AddPackagesFromPath
(
TArray< FName >& Packages, |
Use the asset registry to find packages to be cooked | |
bool | AllowAssetToBeGathered
(
const FAssetData& AssetData |
Allows the subclass to disallow some assets to be gathered during AddPackagesFromPath, for instance This is similar to AllowObjectToBeCooked, but it can help with, for instance, removing maps from subdirectories, while still allowing the normal maps that come from the standard cooking process | |
bool | AllowEnginePluginContentToBeCooked
(
const TSharedRef< IPlugin > |
Should the given enabled engine plugin be cooked? | |
bool | AllowObjectToBeCooked
(
const UObject* Obj |
Allows the subclass to exclude specific objects in packages discovered during the cook. | |
bool | AllowProjectPluginContentToBeCooked
(
const TSharedRef< IPlugin > |
Should the given enabled project plugin be cooked? | |
TUniquePtr< ICookedEditorPackageManager > | FactoryForTargetPlatform
(
bool bIsCookedCooker |
Construct a package manager for the given TP | |
void | FilterGatheredPackages
(
TArray< FName >& PackageNames |
Allow a subclass to remove packages found in GatherAllPackages | |
void | GatherAllPackages
(
TArray< FName >& PackageNames |
Gathers the packages this PackageManager wants to manage (ie cook) | |
void | GatherAllPackagesExceptDisabled
(
TArray< FName >& PackageNames, |
Meat of this class, this calls other functions that generally will be overridden - subclass needs to pass in disabled plugins | |
void | GetEnginePackagesToCook
(
TArray< FName >& PackagesToCook |
Override to control engine packages to cook | |
void | GetProjectPackagesToCook
(
TArray< FName >& PackagesToCook |
Override to add project specific packages to cook | |
void | Hook called when the manager's TargetPlatform is selected for cooking. |
Enums
Type | Name | Description | |
---|---|---|---|
EPackageSearchMode |