plugins-and-modules

Create and manage Unreal Engine plugins with .uplugin descriptors and C++ modules.

1|Updated Sep 6, 2026
One-click install
npx skills add https://github.com/ziyarduc/Baran-bk-game --skill plugins-and-modules-ziyarduc
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: plugins-and-modules
Source: https://github.com/ziyarduc/Baran-bk-game/tree/main/.agents/skills/plugins-and-modules
Command: npx skills add https://github.com/ziyarduc/Baran-bk-game --skill plugins-and-modules-ziyarduc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Structuring reusable Unreal Engine features as plugins is error-prone: the .uplugin descriptor, module types, loading phases, and dependency rules must all align or the plugin fails to load, content won't mount, or packaging breaks. This Skill provides the exact descriptor fields, module wiring patterns, and troubleshooting guidance grounded in UE 5.8 engine source. ## Core Features & Use Cases - Plugin Authoring: Create .uplugin descriptors with correct FileVersion, Modules array, CanContainContent, and plugin dependency declarations. - Module Configuration: Choose the right EHostType (Runtime, Editor, UncookedOnly, ServerOnly) and ELoadingPhase (PreDefault, Default, PostEngineInit) for each module, and wire IMPLEMENT_MODULE with StartupModule/ShutdownModule. - Runtime Queries & Packaging: Use IPluginManager/IPlugin to find, mount, and enumerate plugins at runtime, handle explicit-load plugins, and package plugins for distribution. - Use Case: You are building an editor tool that must ship separately from your game. Use this Skill to scaffold a plugin with a Runtime module plus an Editor module, register detail customizations, declare the EnhancedInput dependency, and package it for other projects. ## Quick Start Ask the assistant to create a new Unreal Engine plugin with a runtime module and an editor module, including the .uplugin descriptor and Build.cs files.

Frequently Asked Questions about plugins-and-modules

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a plugin in Unreal Engine 5?▼

Create a folder under Plugins/ containing a .uplugin descriptor with FileVersion 3, a Modules array listing each C++ module with its Type and LoadingPhase, and a Source/ directory with one .Build.cs per module. Each module needs exactly one IMPLEMENT_MODULE call in a .cpp file.

Should I use a plugin or a project module in Unreal Engine?▼

Use a plugin when the feature is reusable across projects, optional, or an editor tool shipped separately; plugins live in Plugins/ and can bundle content. Use a project module for game-specific code that compiles into the project and never travels without it.

Why is my Unreal Engine plugin content not mounting?▼

Plugin content fails to mount when CanContainContent is not set to true in the .uplugin descriptor or assets are not placed under the plugin's Content/ folder. Verify at runtime with IPlugin::IsMounted() and reference assets under the /PluginName/ virtual path.

What is the difference between Runtime and Editor module types?▼

Runtime modules load in all targets including packaged games, servers, and clients, while Editor modules load only in the editor and are stripped from packaged builds. Code guarded by #if WITH_EDITOR must live in an Editor-type module or packaging will fail.

How do I load an explicitly loaded plugin at runtime?▼

Plugins with ExplicitlyLoaded set to true do not load automatically at startup. Call IPluginManager::Get().MountExplicitlyLoadedPlugin with the plugin name and a maximum loading phase to mount its content and load its modules on demand.

Why does my plugin fail to load due to dependencies?▼

Load failures occur when a dependency is declared in Build.cs but missing from the .uplugin Plugins array, or when both plugins load at the Default phase with undefined ordering. Declare dependencies in both places and move provider plugins to the PreDefault phase.