World Subsystem
A World Subsystem is an Unreal Engine class that acts as a singleton tied to a UWorld. The engine creates one instance automatically when the world starts and destroys it when the world ends. You don’t place it in the level, you don’t manage its lifetime — it’s just there.
You access it from anywhere with:
GetWorld()->GetSubsystem<UMySubsystem>()This makes it a good fit for systems that need to exist once per level and be globally accessible — things like object pools, scoring systems, or quest managers.
UE5 has several subsystem types (UGameInstanceSubsystem, ULocalPlayerSubsystem, etc.), each scoped to a different lifetime. World Subsystems live and die with the level.
Further Reading
- Unreal Engine Documentation — Programming Subsystems (docs.unrealengine.com)
- Alex Forsythe’s “Unreal Engine C++ Fundamentals” video series covers subsystems in practical context