Simple Resources Help

Resources Subsystem

The resources subsystem can be used to get information about all resource types registered in your project.

Subsystem Methods

Get Subsystem

This method uses a cached pointer to the subsystem, which will be much faster than the regular blueprint node.

static USimpleResourcesSubsystem* GetPtr();
USimpleResourcesSubsystem* Subsystem = USimpleResourcesSubsystem::GetPtr();
USimpleResourcesSubsystem& Subsystem = USimpleResourcesSubsystem::Get();

Get All Resource Definitions

static void GetAllDefinitions( TArray<USimpleResourceDefinition*>& OutResources );
TArray<USimpleResourceDefinition*> Definitions; USimpleResourcesSubsystem::GetAllDefinitions(Definitions);
static TArray<USimpleResourceDefinition*> GetAllDefinitions(); auto Resources = USimpleResourcesSubsystem::GetAllDefinitions();

Get Resource Definitions By Tag

Allows fetching all resources with the specified tag.

Assuming we have some gameplay tag hierarchy like:

  • Resources

    • RawResource

      • Iron

      • Copper

      • Gold

    • ProcessedResource

      • IronBar

      • CopperBar

      • GoldBar

If we wanted all of our RawResource type resources, we can use Resources.RawResource as the tag, this would fetch all 3 of them.

If we just used Resources.RawResource.Iron as the tag, it would only fetch the Iron resource.

static void GetResourceDefinitionsByTag( FGameplayTag Tag, TArray<USimpleResourceDefinition*>& OutResources );
FGameplayTag Tag = FGameplayTag::RequestGameplayTag(FName(TEXT("Resources.RawResource"))); TArray<USimpleResourceDefinition*> Definitions; USimpleResourcesSubsystem::GetResourceDefinitionsByTag(Tag, Definitions);

Get Resource Definition By Tag

Gets a single resource definition by its tag.

static USimpleResourceDefinition* GetResourceDefinition( FGameplayTag Tag );
FGameplayTag Tag = FGameplayTag::RequestGameplayTag(FName(TEXT("Resources.RawResource.Iron"))); USimpleResourceDefinition* Definition = USimpleResourcesSubsystem::GetResourceDefinition(Tag);

Try To Get Resource Definition By Tag

Gets a single resource definition by its tag.

static bool TryGetResourceDefinition( FGameplayTag Tag, USimpleResourceDefinition*& OutDefinition );
FGameplayTag Tag = FGameplayTag::RequestGameplayTag(FName(TEXT("Resources.RawResource.Iron"))); USimpleResourceDefinition* Definition = nullptr; if(USimpleResourcesSubsystem::TryGetResourceDefinition(Tag, Definition)) { // Do something }
Last modified: 05 August 2025