Skip to main content

References

File Status

Each stage is reflected in the ECFCoreFileStatus enum on the FFile object returned by the API.

StatusValueMeaning
Processing1Source file received; pre-cook validation in progress
Baking13Cloud cooking jobs are running
UnderReview3Cooking complete; awaiting human moderation
Approved4Moderation passed
AwaitingPublishing14Approved but held for manual release
Released10Live and available to players
ChangesRequired2Moderation returned the file for revision
Rejected5Rejected by moderation
MalwareDetected6Automated scan detected malicious content
FailedPublishing15Internal 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.

ValuePlatform
WindowsPC (Windows)
MacPC (macOS)
LinuxPC (Linux)
WindowsServerDedicated server (Windows)
LinuxServerDedicated server (Linux)
PS4PlayStation 4
PS5PlayStation 5
XboxOneXbox One
XboxXSXbox Series X/S
SwitchNintendo Switch
IOSiOS
AndroidAndroid

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:

ValueBehaviour
AllCook for all platforms enabled in the Developer Portal (default)
PCOnlyCook only for PC platforms (Windows, Mac, Linux)
ManualDo 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.

CodeConstantCause
1103kNoSuchModFileCooked file upload references an unknown source file ID
1105kModFileSourceMismatchSource file belongs to a different mod
1106kNotSourceModFileReferenced file was not uploaded as a source file
1107kModFileAuthorMismatchUploader is not the source file author
1131kFileIsStillProcessingPrevious upload still processing; retry later
1132kFileSizeTooBigFile exceeds the maximum allowed size
1143kSourceFileNotInCookingStatusSource file is not yet ready to accept cooked uploads
1144kNotAllSourceFilesReadyDependencies not yet ready
1145kSourceFileAlreadyHasPlatformA cooked file for this platform already exists on this source
1160kPlatformNotAllowedTarget platform is not enabled for this game