Decided to post here as well after a user recommended this forum for feature requests.
Original UE Answers page: https://answers.unrealengine.com/que…or-custom.html
Product Version: UE 4.20
OS: Windows 10 Pro 64bit
Short: Change “break struct” so that as you add more entries to your custom struct, it does not grow in height. You should be explicitly required to enable which struct items you would like to be visible, not the other way around.
Long: When you add a “break struct” to your blueprint, by default it tries to add every item from that custom struct (although I have noticed that it only shows the first 2 items and has an arrow below it that allows you to uncollapse all of the visible structs". So, for the sake of this hypothetical situation, let’s say that you explicitly enable 3 entries and disable the rest. Your break struct will now show 3 entries (and that silly arrow at the bottom of the break struct becomes permanently unusable, which I would say should probably a bug for a separate ticket).
This is all fine and dandy, until you open your struct (from the content browser) and begin adding additional entries to it. Lets say that you add 3 entries (vector, float, bool). Doesn’t matter what you add, so just pretend you added 3. Now, let’s assume you have added 150 break structs to 10 different blueprints for this particular struct.
You now have those 3 new entries in 10 different blueprints, totaling 150 break structs. The consequence is, if you want tidy blueprints, you must go to each of those break structs and tell them to hide unconnected pins manually for each and every single break struct, and in this hypothetical situation, there are 150 of them. That’s simply unreasonable default behavior.
To make matters worse, because we explicitly chose 3 struct entries in our hypothetical situation, that “arrow” button that is now unusable, doesn’t hide newly added entries by default. So your struct will begin overlapping other nodes in the blueprint. If this is beginning to make sense, then you should hopefully agree that this is unreasonable default behavior.
It would be better if the default behavior was to just have no pins enabled by default and require the end user to explicitly enable the pins they would like to use. This will prevent custom structs from having boat loads of unnecessary pins active the longer a project remains in development.