UEngineSubsystem
#include "Subsystems/EngineSubsystem.h"
Access: public
Specifiers: UCLASSAbstract
Description
Subsystem base class that lives for the entire lifetime of `GEngine` — from engine startup to shutdown. Use for truly global services such as plugin registries or editor tool backends that must outlive any single world. Retrieved via `GEngine->GetEngineSubsystem<T>()`.
Signature
UCLASS(Abstract) class UEngineSubsystem : public UDynamicSubsystem Caveats & Gotchas
- • Engine subsystems are dynamic: they are instantiated when their containing module is loaded and torn down when it unloads.
- • If your subsystem is not being created, ensure its module is explicitly loaded (e.g. via `FModuleManager::LoadModule`).
- • Avoid expensive per-frame work here; prefer `UWorldSubsystem` for gameplay-tier tick needs.
Example
Access from anywhere C++
if (GEngine)
{
UMyEditorSubsystem* Sub = GEngine->GetEngineSubsystem<UMyEditorSubsystem>();
} See Also
Tags
Version History
Introduced in: 4.22
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
| 5.0 | stable | — |
Feedback
Was this helpful?