Keep Your Assets in a Cooked Build
Goal: make sure every CrimsonAbilitySystem asset you author ships in a packaged build, not just in the editor.
These types are reached through soft references and by-id lookups, which the cooker does not follow. CrimsonAbilitySystem registers them with the Asset Manager as AlwaysCook, but it can only do that for folders you tell it about.
| Primary asset type | Authored as |
|---|---|
CrimsonAbilityAugment | Data asset (UCrimsonAbilityAugment) |
CrimsonAbilityContract | Data asset (UCrimsonAbilityContract) |
CrimsonAbilityDefinition | Data asset (UCrimsonAbilityDefinition) |
CrimsonComboGraphAsset | Data asset (UCrimsonComboGraphAsset) |
1. Point the scan paths at your content
TArray<TSoftObjectPtr<UCrimsonAbilityAugment>>, and an augment attached to a skill tree node cooks only if that tree cooks. Before this registration existed, a Development cook of this project shipped zero augments.Set PrimaryAssetScanPaths on UCrimsonAbilitySystemSettings to the folder (or folders) holding these assets. Sub-folders are included.
Project Settings -> Crimson -> Crimson Ability System -> Asset Discovery -> PrimaryAssetScanPaths. Click +, then pick your folder with the directory picker.
LogCrimsonAbilitySystem: CrimsonAbilitySystem: registered N primary asset type(s) as AlwaysCook across M scan path(s). M must match the number of paths you added; a blank entry is skipped and never counted.2. Confirm the Asset Manager sees them
With the editor open, the registration log line names how many types were registered:
LogCrimsonAbilitySystem: CrimsonAbilitySystem: registered N primary asset type(s) as AlwaysCook across M scan path(s).
AssetManager.DumpAssetRegistryInfo in the editor console - each of the four types should report a non-zero asset count.3. Confirm they cooked
Package a Development build, then check the cooked output directly. Assets from your own content folders land under Saved/Cooked/<Platform>/<Project>/Content/..., and a plugin's content cooks under that plugin's own mount point. Confirm every asset of a type in the table above is present, and that the cook log in Saved/Logs/ reports no missing entry for them.
Anything of a type in the table above that is absent from the cooked output is still being dropped - re-check step 1, then re-cook.
See also
- API Reference -
UCrimsonAbilitySystemSettingsscan paths - How-To: Get the Building Blocks - where the settings live