Manipulation of stucture member assignments

I have noted a element in working a pet project under 4.12 dealing with blueprinting scripting, but not noted anything else posted concerning an issue I have found.

As part of this project, I am setting the structure members to a database supplied standard set of default values by an identification value. Then someone in an editor could replace those defaults to allowed values, permitting some customization. However, setting to invalidated data would cause the object to go back to the predetermined standard.

Initially in trying to use “set variable” and after you break the structure pins out, I found there is no feature remove unwanted structure pins and replicate the C++ equivalent of “set struct_X.member = NAME” for blueprints. This I figure would be a feature request.

Working around my first solution, I tried using “set members in structure name”. This specifies that you can remove structure pins. However, whenever this is done, they are never removed. If I then “restore all pins”, I then get a duplicate sets of variables inside the blueprint function. This item appears to be a bug and makes work involving this blueprint function with breaking out structure members to be problematic.

Thanks

Hi Varkas,

  • Does this occur in a clean, blank project with no additional content or is it limited to one project?
  • What steps can I take to reproduce the error on my end?
  • Is this limited to structs created in c++ or does it reproduce when you create a blueprint struct as well?

I am working pure Blueprints.

Created a new project using a completely blank Blueprint Template with no starter content. I created a basic 3 member structure and then a class that would try to manipulate that structure.

Then creating a “set members in NewUserDefinedStruct” blueprint node, I selected “split structure pins” on “structure ref” pin, which gives me access to members of the structure for manipulating entering data.

I can then picked any structure reference pin and would pick either “remove pin” or “remove all other pins” to try and modify how much of the structure copy was to be modified in the function. However, nothing about structure pins selections ever removed any pin.

I manipulating things, I found the node option “restore all structure pins” will break out the individual members of the structure into a variable section list that can have “remove pin” or “remove all other pins” used on and that will remove those individual pins.

I noted in playing around that all structures being used for “set member in structure” including the engine internal ones do this as well. As soon as you create a “set member in IntVector”, then select node option “restore all structure pins” which then re-creates all internal structure variables without removing the “struct ref” point for the node.

I am thinking that the functionality of the blueprint node is not suppose to have the “struct ref VARIABLE” pin option “remove this struct variable pin” or “remove all other pins” enabled for it and should only have the options of “recombined struct” if all pins are available.

Hopefully, I clarified what I am seeing for you.

=

Thank you for submitting a bug report. I have reproduced this issue and logged a report for it here. You can track the report’s status as the issue is reviewed by our development staff.