Hey everyone,
I’ve been working on an Unreal Engine plugin called Dynamic Storage System — a runtime data storage system that lets you register, retrieve, check, and unregister data using Gameplay Tags.
The main goal was to create a flexible storage layer that works from both C++ and Blueprint, without manually creating separate variables everywhere for temporary/runtime gameplay data.
Current features:
- Register and retrieve data using "FGameplayTag"
- C++ API: "RegisterData<T>()" and "RetrieveData<T>()"
- Blueprint nodes:
- Set Storage
- Get Storage
- Contains Data
- Unregister Data
- Type-safe retrieval
- Runtime type mismatch protection
- Blueprint dynamic pin reconstruction based on stored metadata
- Supports common Unreal types:
- bool, int32, int64, float, double
- FString, FName, FText
- FVector, FVector2D, FRotator, FTransform
- USTRUCT types
- UObject references
- UClass references
- TArray, TSet, TMap
- C++-only support for STL/custom serialized types through a custom serializer system
- Persistent editor registry for Blueprint type metadata
One example use case:
Instead of keeping lots of separate variables for runtime systems, I can store something like:
UDynamicStorageSystemAPI::RegisterData<FVector>(
this,
FGameplayTag::RequestGameplayTag(TEXT("Input.Action.MouseLoc")),
MouseLocation
);
Then retrieve it later from C++ or Blueprint using the same tag.
The hardest parts were:
- safely supporting different types
- making Blueprint wildcard pins rebuild correctly
- handling structs and containers
- keeping C++-only types separate from Blueprint-supported types
- preventing unsafe raw/internal APIs from being exposed
It started as a learning project, but now the full C++ runtime test and Blueprint Set/Get flow are working.
I’m sharing it here because I’d like feedback from Unreal developers:
- Would this kind of tag-based runtime storage be useful in your projects?
- What extra features would you expect from a plugin like this?
- Would you prefer this as a Blueprint-focused tool, a C++ utility, or both?
Still polishing the editor UX, but the core system is now complete.
You can download the plugin for free:- https://www.fab.com/listings/fbf52734-0569-4636-a38b-9e1ed547445a