Move variable/function to parent Blueprint

It is possible to add functionality to move variable / function from child BP to it’s parent.

For now it is not possible to change this without loosing each call in blueprints.
Even when first create function with same name in parent and compile, then each child function are renamed with postfix “_0”. So sooner or later we have to delete old function and loose all invokes in BP.

I also asked for some better refactoring options for BP…
The feedback was rather… none. :frowning:

If you drag variables from a child to a parent blueprint it moves the variable declaration.
Functions can’t be copied though.

I would use this a lot.

doesn’t seem to work for me, can you explain how you do that? preferably with a screenshot

Just wanted to chime in with an update if the information wasn’t as easily found or anyone else looking for answers surrounding this feature request topic.

With 4.26 and its previews, there have been improved refactoring tools for blueprints. Such as;

  1. Replace Node References
  2. Clipboard Support
  3. Move to Parent
  4. Create Matching Function
The Replace References tool has been promoted from experimental with stability and usability improvements.

Blueprint variables, functions, and macros can now be copied to the clipboard and pasted into other blueprints and even other projects.

We’ve added a context option to variables and functions in blueprints to move them to the parent class if it is also in blueprints. All references to the function or variable will be preserved.

A context option has been added to unresolved function nodes to create a new function in the current blueprint with a matching signature.

I had a query about something similar relating to blueprint functions and the process of moving the function definition specifically, to C++.

Context: You have a “SomeFunc” function defined in a blueprint, and then later decide you want to move the definition to C++ as a BlueprintImplementableEvent, keeping the implementation details in blueprint.

After creating an equivalent signature

UFUNCTION(BlueprintImplementableEvent, BlueprintCallable) void SomeFunc()

in the blueprint’s native parent class, the blueprint function “SomeFunc” needs to be deleted and recreated due to the compiler error “The function name in node @@ is already used”

Are there any known ways around this using signature matching or any active plans to improve the process of taking existing blueprint functions and defining them in C++?


I met the same issue as well.
Do you find some good methods of conversion from bp to c++?