Memory leak with unitialised macros

I have recently been working on some logic for use in an AnimGraph using Blueprints and notices I was having a memory leak (~5MB/s) so started investigating further. It took me a while to finally find the cause but here is what caused it.

I initially created a macro with multiple inputs and outputs. I then connected this into my graph, but not all inputs were connected. I noticed that I did not have default values on these empty inputs so I went back to the macro and added them in, compiled and saved. These defaults never got added to the existing instances of the nodes leaving empty inputs. When running it had the correct output values so it seems the defaults were used but not shown which leads me to think the leak is something along the lines of when it finds the uninitialized inputs it creates a new instance of the node which is used, however it’s never deleted or remembered so the next time it comes to the node again it creates another new instance of the node and so on causing the memory to build up.

Typing in the default values stops the memory build up and once entered I can’t delete them again as it springs back to the defaults. I have attached a video to show the leak with the empty inputs and then the leak stopping when values are entered.

I had to zip the video as it was slightly over the 5.2MB limit

Hello Dave_Hibbitts,

I was able to reproduce this issue on our end. I have written up a report ( UE-31333) and I have submitted to the developers for further consideration. I will provide updates with any pertinent information as it becomes available. Thank you for your time and information.

Make it a great day

Hi Rudy,

Thanks for that, glad to know it’s being looked into.

Dave