References
File Status
Each stage is reflected in the ECFCoreFileStatus enum on the FFile object returned by the API.
| Status | Value | Meaning |
|---|---|---|
Processing | 1 | Source file received; pre-cook validation in progress |
Baking | 13 | Cloud cooking jobs are running |
UnderReview | 3 | Cooking complete; awaiting human moderation |
Approved | 4 | Moderation passed |
AwaitingPublishing | 14 | Approved but held for manual release |
Released | 10 | Live and available to players |
ChangesRequired | 2 | Moderation returned the file for revision |
Rejected | 5 | Rejected by moderation |
MalwareDetected | 6 | Automated scan detected malicious content |
FailedPublishing | 15 | Internal publishing error |
The FFile.cookingInfo field carries additional metadata about the cooked output. It provides control and traceability over which backend toolchain produced each mod artifact. When the studio updates the game, engine, or cooking pipeline, CurseForge can identify artifacts built with an older cooker and re-cook only what is needed. This keeps the mod catalog aligned with the studio's latest supported build without requiring manual coordination with creators.
struct FFileCookingInfo {
FString cookerVersion; // which cooker version produced this file
};
Supported Platforms
Cloud Cooking produces platform-specific outputs for all platforms supported by CFS. Target platforms are enabled per game in the Developer Portal. Creators do not select platforms at upload time. The backend automatically cooks for every platform your game has enabled.
| Value | Platform |
|---|---|
Windows | PC (Windows) |
Mac | PC (macOS) |
Linux | PC (Linux) |
WindowsServer | Dedicated server (Windows) |
LinuxServer | Dedicated server (Linux) |
PS4 | PlayStation 4 |
PS5 | PlayStation 5 |
XboxOne | Xbox One |
XboxXS | Xbox Series X/S |
Switch | Nintendo Switch |
IOS | iOS |
Android | Android |
Console SDK access. Console platform targets require gated SDK access. Contact the CurseForge for Studios team to begin the Console SDK onboarding process.
Cooking Modes
When a source file is uploaded, the FModFileCookingOptions struct controls whether and how cooking is triggered.
struct FModFileCookingOptions {
bool isSourceFile = false;
ECFCoreAutoCookingType autoCookingType = ECFCoreAutoCookingType::All;
FString cookerVersion;
};
isSourceFile must be true for the file to enter the Cloud Cooking pipeline. If false, the upload is treated as a pre-cooked file and cooking is skipped.
autoCookingType controls which platforms are cooked automatically:
| Value | Behaviour |
|---|---|
All | Cook for all platforms enabled in the Developer Portal (default) |
PCOnly | Cook only for PC platforms (Windows, Mac, Linux) |
Manual | Do not auto-cook; studio uploads cooked files explicitly via CreateCookedModFile |
cookerVersion pins the upload to a specific cooker build. When left empty, the active cooker version configured in the Developer Portal is used. The current active version can be queried via the /v1/cooking/sdk-version endpoint.
Error Reference
Error codes specific to the cooking pipeline, returned as API error codes on failure.
| Code | Constant | Cause |
|---|---|---|
| 1103 | kNoSuchModFile | Cooked file upload references an unknown source file ID |
| 1105 | kModFileSourceMismatch | Source file belongs to a different mod |
| 1106 | kNotSourceModFile | Referenced file was not uploaded as a source file |
| 1107 | kModFileAuthorMismatch | Uploader is not the source file author |
| 1131 | kFileIsStillProcessing | Previous upload still processing; retry later |
| 1132 | kFileSizeTooBig | File exceeds the maximum allowed size |
| 1143 | kSourceFileNotInCookingStatus | Source file is not yet ready to accept cooked uploads |
| 1144 | kNotAllSourceFilesReady | Dependencies not yet ready |
| 1145 | kSourceFileAlreadyHasPlatform | A cooked file for this platform already exists on this source |
| 1160 | kPlatformNotAllowed | Target platform is not enabled for this game |