RealDocs

UEngineSubsystem

class Engine Since 4.22
#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>();
}

Version History

Introduced in: 4.22

Version Status Notes
5.6 stable
5.0 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.