I asked for a USubSystem, not a module
I apologize for the mistake. Here is an example of a simple Unreal Engine subsystem that logs a message to the screen every time it is updated:
Copy code
C++:
#include "CoreMinimal.h"
#include "Modules/ModuleManager.h"
#include "Engine/Engine.h"
#include "Subsystems/GameInstanceSubsystem.h"
class FMySubsystem : public FGameInstanceSubsystem
{
public:
virtual void Initialize(FSubsystemCollectionBase& Collection) override
{
UE_LOG(LogTemp, Warning, TEXT("MySubsystem has initialized!"));
}
virtual void Deinitialize() override
{
UE_LOG(LogTemp, Warning, TEXT("MySubsystem has deinitialized."));
}
virtual void Update(FWorldContext& WorldContext) override
{
UE_LOG(LogTemp, Warning, TEXT("MySubsystem is being updated."));
}
};
This subsystem can be added to your game by adding it to the DefaultEngine.ini file in the [/Script/Engine.Engine] section:
Copy code
C++:
[/Script/Engine.Engine]
+GameInstanceSubsystems=MySubsystem
When the game starts, the subsystem will output the message "MySubsystem has initialized!" to the log, and when the game shuts down, it will output the message "MySubsystem has deinitialized." Every time the subsystem is updated, it will output the message "MySubsystem is being updated."