Boolean value being incorrectly set during SetStruct

We have a USTRUCT (let’s call it FWeirdStruct) with a couple boolean values (call them bFirstBool and bSecondBool) and some strings, one value of which is lightly tied to bFirstBool (which is to say if bFirstBool is false, the string value is disregarded). The struct itself is replicated within it’s owner class with an OnRep function that only does reads on the struct and doesn’t set/change any values within it. There are no meaningful constructors on the struct nor the owning class, the booleans are defaulted to false, and nothing in code sets them to true that we can find.

In blueprints we’re manually setting bSecondBool to true using the SetWeirdStructnode, and setting all the members at once. bFirstBool is set to false here as well. This cause an error where the string value was being used where it shouldn’t be, and through debugging we found that somewhere bFirstBool is getting set to true, though there’s still nowhere in code or blueprints setting it. To be clear, the value of the string is irrelevant, and we tested both with an empty string and a valid one. The true-ness of bFirstBool is the issue.

When we changed the blueprint code to use SetMembers and only set bSecondBool to true, everything worked as expected.