π§ Property Transfer Manager Tool (PTMTool) for Unreal Engine
A powerful and intuitive Unreal Editor plugin that enables fast and reliable copying of properties, functions, and macros between Blueprints. This tool significantly improves productivity in complex Blueprint-based projects.

β¨ Features
- π Copy properties from one Blueprint to another
- π Preserve variable values, including arrays and structs
- π« Clash detection for conflicting names or types
- π Supports macros and function graphs
- π¨ UI-based selection with color-coded type indicators
- π Filter and inspect Blueprint properties easily
- π Transfer variables to and from User Defined Structs
π Getting Started
π§© Installation
- Place the
PTMToolplugin folder inside your projectβsPlugins/directory. - Regenerate project files and recompile (for C++ projects).
- Launch the Unreal Editor.
- Focus the Editor on the Map Editor window (not Blueprint windows).
- Open
Tools > Property Copy...orTools > Function Copy...to access the tool.
Compatible with Unreal Engine 4.XX and potentially UE5 with minor adjustments.

π₯οΈ How to Use
- Open the Property Transfer Manager window from the Unreal Editor.
- Select your Source and Target Blueprints.
- Use the property/function picker to select which elements to transfer.
- Press
Applyto complete the transfer.
β Supported Types
bool,int,byte,floatFName,FText,FStringFVector,FRotator,FTransform,FColorTArray<T>,TMap<T>,TSet<T>, for all of the above types- Object Reference types
β οΈ Clash Detection
- Red highlighting indicates name/type mismatches between Source and Target.
- These fields will not be copied unless resolved.
𧬠API Overview (Developers)
Header: PTMTool.h
Core Classes
FPTM_PropertyInfoFFTM_FunctionInfoFPropertyTransferManager
Key Methods
// Blueprint Selection
UObject* GetSelectedBlueprint();
UBlueprint* GetBlueprintFromObject(UObject*);
// Property Transfer
TArray<FPTM_PropertyInfo> CollectBlueprintPropertyInfo(UObject*); // works with UUserDefinedStruct
bool CopyBlueprintProperty(UObject* Source, UObject* Target, const FName &Variable); // Blueprint or struct
// Function/Macro Transfer
TArray<FFTM_FunctionInfo> CollectBlueprintFunctionInfo(UObject*);
bool CopyBlueprintFunction(UObject* Source, UObject* Target, const FName &Function);