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.
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.