🔌 Fab Code Plugin Submission Checklist

Complete checklist for getting your Unreal Engine code plugin approved on Epic's Fab marketplace

Based on Fab Technical Requirements

📄 .uplugin Descriptor

Your .uplugin file is the heart of your plugin submission. These fields are mandatory for Fab approval.

EngineVersion Key Present

Must specify the major engine version (e.g., 5.3.0) the plugin is built for.

"EngineVersion": "5.3.0",
🚨 Critical: Each Project Version needs a separate .uplugin with matching EngineVersion for each supported engine version.

PlatformAllowList or PlatformDenyList

Each module must specify compilation platforms.

"PlatformAllowList": [ "Win64", "Mac", "Linux", "IOS", "Android" ]
🚨 Critical: For UE4 plugins, use "WhitelistPlatforms" or "BlacklistPlatforms" instead.

FabURL Key

Required launcher URL for automatic plugin installation from projects.

"FabURL": "com.epicgames.launcher://ue/Fab/product/YOUR_PRODUCT_ID"
💡 Tip: Get your product ID from the end of your Publisher Portal URL after initial submission.

No Dependencies on User-Made Plugins

Plugins can depend on engine plugins, but NOT on other third-party/user-made plugins.

💡 Tip: If you need shared functionality, include it directly in your plugin or use engine-provided alternatives.

💻 Source Code Requirements

Your source code must meet these standards for compilation and distribution.

Copyright Headers on All Files

Every source and header file must have a commented copyright notice with your name/company and publishing year.

// Copyright 2026 YourCompany. All Rights Reserved.
🚨 Critical: Do NOT use the auto-generated Epic Games copyright text. This WILL get your plugin rejected.

At Least One C++ Module

Code plugins must contain at least one module of C++ code (can also contain content).

💡 Tip: Blueprint-only projects should be submitted as "Asset Pack" distribution, not code plugins.

No Closed-Source UE-Dependent Code

All code that requires Unreal Engine source to compile must be included. Only code NOT dependent on UE source may be pre-compiled.

🚨 Critical: Customers need source for UE-dependent code to compile against source-built engine versions.

Plugin Adds Genuine Functionality

Must introduce new editor functionality, integrate UE with third-party systems, or expose complex gameplay logic to blueprints.

💡 Tip: Wrapper plugins that don't add substantial value may be rejected.

No Executables or Installers

Plugins must not distribute .exe, .msi, or any executable/installer files.

💡 Tip: If your plugin needs external tools, provide documentation for users to download them separately.

🔧 Compilation Requirements

Epic builds your plugin binaries. Ensure it compiles cleanly.

Zero Errors, Zero Consequential Warnings

Plugin must compile without errors or significant warnings.

🚨 Critical: Test compilation before submission using the Package command in the Plugins window.

Test Package Command

Use "Package..." in the Plugins window to test Epic's build process.

Engine\Build\BatchFiles\RunUAT.bat BuildPlugin -Plugin=[Path to .uplugin] -Package=[Output directory] -Rocket
💡 Tip: Run this from installed binary builds of each engine version you support.

IWYU Compatibility (4.18+)

Plugins for UE 4.18+ must be Include-What-You-Use compatible.

PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
💡 Tip: Add this to your module's .Build.cs file. Include headers directly instead of relying on PCH.

Use ModuleDirectory for Include Paths (4.20+)

Include paths for your own plugin directories must use ModuleDirectory.

PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "MyFolder"));
💡 Tip: Add "using System.IO;" at the top of your .Build.cs file.

📁 File Structure

Proper folder structure is required for Fab processing and distribution.

No Local/Build Folders

Remove Binaries, Build, Intermediate, and Saved folders before zipping.

MyPlugin/ ├── Config/ ├── Content/ ├── Resources/ ├── Source/ │ ├── MyModule/ │ │ ├── Private/ │ │ ├── Public/ │ │ └── MyModule.Build.cs │ └── ThirdParty/ └── MyPlugin.uplugin
🚨 Critical: Epic rebuilds binaries. Including local folders will cause rejection.

File Paths Under 170 Characters

All file paths starting from plugin folder must be 170 characters or less.

💡 Tip: Keep folder and file names concise. Avoid deeply nested structures.

Third-Party in ThirdParty Folder

Third-party dependencies must be in a ThirdParty folder inside Source.

💡 Tip: Must have proof of permission for all third-party code. Fill out the Third-Party Software Declaration form.

FilterPlugin.ini for Extra Folders

For distribution of non-standard folders (Docs, etc.), create Config/FilterPlugin.ini.

[FilterPlugin] /Docs/... /MyOtherFolder/...
💡 Tip: Without this, extra folders won't be distributed to customers.

English Alphanumeric Names Only

Folder and file names must contain only English letters, numbers, and underscores.

💡 Tip: Avoid spaces, special characters, and non-ASCII characters in paths.

🎮 Engine Version Support

Manage your supported engine versions correctly.

Latest Engine Version Required on Initial Submit

New products must support the latest version of Unreal Engine.

🚨 Critical: Check current UE version before submission. Epic won't approve outdated initial submissions.

Separate Project Version Per Engine Version

Code plugins need a different Project Version (with different Project File Link) for each supported engine version.

🚨 Critical: Each zip must have the correct EngineVersion in .uplugin. Can't just change the version value.

Support at Least One of Latest Three Versions

Published products must maintain support for at least one of the three latest engine versions.

💡 Tip: Epic will only build for the three latest versions by default. Older versions require special request.

📦 Third-Party Software

Declare all third-party software usage properly.

Declare Third-Party Software Usage

Must declare whether plugin includes, uses, depends on, or distributes any third-party software.

🚨 Critical: Third-party means fonts, graphics, sounds, APIs, code, or libraries from sources other than you or Epic.

Complete Third-Party Declaration Form

If using third-party software, complete the official declaration form.

💡 Tip: Submit form here. Include license info and proof of permission.

📚 Example Project & Documentation

Plugins are installed as engine plugins. Example projects help customers get started.

Provide Example Project (Strongly Recommended)

Since plugins install to Engine/Plugins/Fab, an example project helps demonstrate functionality.

💡 Tip: Add link in Technical Information under "Example Project:". Host on Google Drive/Dropbox/OneDrive.

Example Project Dependencies Only

Example projects should depend on your plugin but NOT contain the actual plugin files.

💡 Tip: Users install the plugin from Fab separately. Example project just references it.

Include Video or Demo for Blueprint Products

Blueprint-based plugins must include a downloadable demo project OR video URL in the description.

🚨 Critical: Required by Fab guidelines. Without this, your submission will be rejected.

Documentation Provided

Products requiring setup knowledge must have or link to free documentation.

💡 Tip: Web guides, PDF files, code comments, videos, or in-editor tutorials. Must be in English.

🔗 Project File Link

Your hosted zip file for Epic to download and build.

Valid Hosting Site Link

Project File Link must navigate to Google Drive, Dropbox, OneDrive, etc.

🚨 Critical: Link must remain active until Epic generates a build. Don't remove until approved.

Single Plugin Folder in Zip

Zip must contain only ONE Unreal Engine plugin folder.

🚨 Critical: Don't include project files, multiple plugins, or extra content outside the plugin folder.

Password in Version Notes

If zip is password-protected, provide password in the Version Notes field.

💡 Tip: Epic reviewers need access. Unprotected zips are faster to process.

📝 Product Page Requirements

Marketing and metadata for your listing.

English with Correct Grammar

All text must be in English with proper spelling and grammar.

💡 Tip: Run description through a spell checker. Poor grammar = unprofessional impression.

Accurate Tags and Category

Tags must be relevant. Category must match plugin functionality.

💡 Tip: Don't spam unrelated tags for SEO. This hurts discoverability and trust.

All Technical Information Fields Filled

Complete all relevant Technical Information fields including dependencies and prerequisites.

💡 Tip: List experimental/beta engine features used. State clearly if no external dependencies.

Accurate Media

Images, videos, and 3D models must accurately display product contents.

💡 Tip: Don't show features you don't deliver. Include in-editor screenshots, not just renders.

AI Usage Disclosure

Must disclose if generative AI tools were used during creation.

💡 Tip: Check the "Created with AI" field if you used AI for code, assets, or documentation.

Ready to Submit?

Ensure all critical items (🚨) are checked before submitting your code plugin!

📖 Official Fab Requirements