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: [ol]
[li]Create every variable manually[/li][li]Name it[/li][li]Set the type from a drop-down list[/li][li]Set single/array/set/map[/li][li]Set default value[/li][/ol]
For functions it’s even worse, as you need to: [ol]
[li]create the function[/li][li]manually add each input pin, same as vars you have to:[LIST=1][/li][li]name them[/li][li]manually set type from drop down[/li][li]set array/set/map/by-ref[/li][li]set default value[/li][/ol]
[li]manually create each local variable[ol][/li][li]name them[/li][li]manually set type from drop down[/li][li]set array/set/map[/li][li]set default value[/li][/ol]
[li]copy-paste nodes[/li][li]manually reconnect each input pin, checking that you haven’t missed any connections[/li][li]done? oh no, compile errors. why? ah yes…[/li][li]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[/li][/LIST] 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.