[4.10.4] Blueprint struct input pin recombines in macro every editor start. (can cause editor crash)

Hi there.

I got some macros in my Object Macro Library with two input pins of a custom blueprint struct. I just realized that the input pins recombine (cutting wires) after editor restart (not just re-opening window).
While reproducing the issue they even seem to disappear for some reason.
When i reproduce, of course i hit an editor crash too. No issue with Macros inside an Actor when I tested this.

( Issue sounds similar to: [Crash] Modify a C++ struct that is split in a macro input pin - Programming & Scripting - Unreal Engine Forums )

I could break it down to bare minimum to reproduce:

1: Create a new blank project

2: Create new Blueprint Structure

3: - Add new Variable (2 bool values now)

4: Create new Actor Macro Library

5: - New Input with the struct type

6: - Split Input Pin and wire it to e.g. branch (wiring does not matter, just to check the de-wiring afterwards. exec wire does not matter as well)

7: Save and restart the editor

==> Input Node in macro is recombined and disappeared.

Reproduce Crash:

8: In Macro: Refresh input node to get the input pin back. Split and wire up again. Create an Exec Input wire

9: Create new Actor

10: - ExecWire: Event BeginPlay ------> NewMacro_0

11: - Split macro struct pin

12: Save, recompile, CLOSE actor window, restart editor

13: Open Actor window => Editor Crash



14: Refresh Input Node of Macro => actor window can be opened again.

Crash on Editor Startup:

15: Just place the actor in the loading level.

(Have to solve this in my main project now, since i was to lazy to create a test project in first place to reproduce the macro issue… XD )

Of course the “Workaround” is just an explicit Split Node after the input pin.

Happy Debugging :slight_smile:


Hi Marooney,

Thank you for the report. I was easily able to reproduce the issue and I have created JIRA UE-27795. Our developers will be investigating it further and we will post back here with questions if we have them.