First of all, as with all my recent Feature Requests, I would like to say “thank you” to Epic Games and the Unreal Engine team for providing me and others with such a great tool, as well as its source. I hope my feedback can help improve it.
One of the downsides in using BP currently, as opposed to code, is that copy/pasting variables, functions, event dispatchers between BPs isn’t possible.
In code, you just select some text, copy, paste into a different .cpp file, done. Maybe for some functions also change the namespace by copy-pasting the class name. That’s it, takes ~2 seconds, even for very complex and long functions.
For migrating a variable to a different blueprint, it’s necessary to:
-
Create every variable manually
-
Name it
-
Set the type from a drop-down list
-
Set single/array/set/map
-
Set default value
For functions it’s even worse, as you need to:
-
create the function
-
manually add each input pin, same as vars you have to:
-
name them
-
manually set type from drop down
-
set array/set/map/by-ref
-
set default value
-
-
manually create each local variable
-
name them
-
manually set type from drop down
-
set array/set/map
-
set default value
-
-
copy-paste nodes
-
manually reconnect each input pin, checking that you haven’t missed any connections
-
done? oh no, compile errors. why? ah yes…
-
you need to *manually replace all the get/set nodes for all local variables, *as BP doesn’t recognize them from copy-pasted nodes even if they’re the same name and type
Surely this process is way too obtuse, prone to user error, and can easily by optimised. A simple right click -> copy variable/function/dispatcher, right click -> paste would save so much time.
Moreso, there is literally a free open source plugin with its that does this: https://www.unrealengine.com/marketp…-transfer-tool. That means most of the work on the functionality is already there. It’s left just to tie it to a simple UI element in the right-click menu within the editor. The batch migrate window can also be made a part of the editor.
The plugin works very well, and supports all latest engine versions. The feedback is all positive, and there’s a lot of reviews, meaning a lot of people needed this enough to search for it. There are probably way more that needed this, didn’t know a plugin like that existed, and just wasted their time re-creating variables and functions manually. For example, me, until today.
Why not merge the functionality from it into the main editor? I don’t see why this base level ease-of-use stuff isn’t considered essential.
It doesn’t seem like a humongous task, and will make a big part of the user base happy. Please make this a part of the editor by default.