Safeguard
Developer Tools•

Unreal plugin editor module or runtime module: what to check

An Unreal plugin can hold editor-only and runtime modules plus content. Read the descriptor to see what reaches players and what stays on dev machines.

Safeguard Security Team
4 min read

An Unreal plugin is a collection of code and data that can be enabled per project, and its descriptor lists modules that may be editor-only or runtime. Read the descriptor first: it tells you what could ship to players and what only runs in the editor. Then check the plugin's content folder and its source.

What the documentation says

Epic describes plugins as collections of code and data that developers can enable or disable in the Editor on a per-project basis. Plugins can add runtime gameplay functionality, modify built-in engine features, create new file types and extend the Editor with menus, toolbar commands and sub-modes.

On structure, Epic says plugin descriptors are discovered and loaded automatically by the Engine, Editor and UnrealBuildTool whenever those run. Most plugins have one module, but a plugin may have several, for example one holding editor-only functionality and another intended to run during the game. Plugins can also carry their own Content folder, and a descriptor setting called CanContainContent must be true for that content to be used. Plugins in a project live under its Plugins subfolder and are detected and loaded at engine or editor startup.

Reading a descriptor

The descriptor is a small file with the .uplugin extension, in JSON. Open it in a text editor before you add the plugin to a project.

What to look forWhy it matters
The list of modules and each module's typeEditor-only modules should not appear in a packaged game; runtime modules can
Whether the plugin declares contentContent may include assets and blueprints that run logic
Which other plugins it enablesEach one is more code you now depend on
The supported platformsA plugin claiming every platform may carry native libraries for each
Version and publisher fieldsRecord them for your register

This describes what to inspect, not what a particular descriptor contains. Field names and options vary by engine version, so confirm against Epic's current documentation.

Steps before you ship with a plugin

  1. Read the .uplugin file and write down every module and its type.
  2. Look inside the plugin folder for a Source directory. If only binaries are present, you are trusting a precompiled build. Note that.
  3. Open the Content folder if present and list its blueprints and assets.
  4. Check the plugin's third party folder for bundled libraries and add each to your inventory. Bundled libraries are the part most teams forget.
  5. Package a test build and confirm editor-only modules are not in it.
  6. Decide whether to install it at engine level or project level. Our guide on engine or project level installs explains the trade offs.
  7. Add the plugin to a register with an owner, a version and a review date.

Why editor-only versus runtime is the key question

Editor-only code affects your team's machines and build farm. Runtime code reaches players and your support queue. A flaw in an editor-only module still matters, because developer machines hold source code and credentials, but the response is different: you update tools, not shipped builds. A flaw in a runtime module can mean a game patch.

Knowing which one you have lets you answer an advisory in minutes instead of hours.

Where scanning fits

Safeguard's SBOM and dependency scanning covers packages and libraries declared in your repositories, and you can try a free scan at gold.safeguard.sh/scan. Reading a plugin descriptor remains a manual intake step that feeds that inventory.

Quick check

Can one plugin have both editor and game code?

Yes. Epic says a plugin can have multiple modules, for example editor-only functionality in one and game code in another.

Do plugins load without my approval at startup?

Epic says plugins in a project's Plugins folder are detected and loaded at startup, and descriptors are discovered automatically, so anything placed there is in play.

What does CanContainContent do?

Epic's page says it must be set to true for a plugin's content to be usable.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.