Struct updates all its contents? Pin Options

Hi

When updating a struct variable type using MakeStruct, if we change only one value of all the properties in the struct, does Set var absorb from the MakeStruct node also the default values for properties (which would be a problem where values already set in the variable may not be the defaults and they’d be scrubbed)?

If so, can an alternative MakeStruct be provided which takes in only those properties that have ticked pins in Pin Options (ie, only what’s exposed in the graph), leaving other existing values as they currently are?

If, besides updating a given value, we also have to go Get var → Break Struct → connect over to Make Struct → Set Var for every property that’s intended to remain current, it seems a waste of time.

Also on the same topic (Pin Options). With Photoshop layers, there’s a column of eye icons for layer visibility.
You can sweep your cursor over them to toggle them, which is way faster than clicking them one by one.
If that could be done for the Show Pin tickboxes in the Details of MakeStruct and BreakStruct (and wherever else such lists of tickboxes crop up), it would be super cool.

I suggested in the past to make Set and Get node for structs like for classes, in C++ structs and classes are nearly the same thing

I tested out what I was talking about … and it’s a pity to find out that Make Struct has to have all the values that are not actually different hooked to a preceding Break Struct with the existing values or otherwise they will revert to the defaults which the Make Struct presents. This seems ugly to me because someone might have to do a lot of wire connecting (and it uses up a lot of space) to maintain unchanged values when updating just one item in the struct.

Going from the attached image, if I don’t use the Break Struct on the second Set variable, and then print string TextInfo0 I get the default which is nothing, instead of some text.

I feel that if there was a tickbox something like IgnoreDefaultValues, managing a big struct would be easier. Each value field could then have a ForceDefault icon for if you do want to make an exception.

Or make it so if a pin is NotShown it doesn’t pass through an updated/reset value. People would figure that out with a tooltip for sure.

Unfortunately, this appears to be true with Set Struct as well in 4.6

Solved it