Overview: I have a character blueprint that calls the Print String function in its Construction Script to display the character’s set race (i.e. Human, Dwarf, etc.). The value is switched on an Enum to determine which one was set, performs some other functions to set other initial variables (i.e. Strength), then prints the set race to the screen. Previously, these characters were manually placed in the level, but they have all since been deleted.
Issue1: Whenever I open the blueprint, the default selected output is printed to the viewport twice.
Issue2: Whenever I compile the blueprint, the default selected output is printed to the viewport three times.
Issue3: Whenever I right-click the blueprint and select the option to “Select Actors Using This Asset”, it selects my camera actor, which is built off of a completely separate blueprint. The only relation I can find is via a shared BPInterface.
Issue4: Whenever I place one of the characters in the level, its base stats that were also set in the construction script are tripled, as if it was compiled several times when I placed it initially (without moving around).
Issue5: Whenever I go to place one of the characters in the level via drag-and-drop method, the character seems to compile ever time I move it across the ground. Visible via its “I’m a Human” statement being spammed down the viewport.
Issue6: After I move the character around in the viewport, the character’s initial statistics set via the Construction Script are added to the characters set statistics. For example: The character’s base Strength score is determined via its set race, added to the bonus for its selected character class (i.e. Warrior), then remade as new stats. It’s initial Strength score should be something like 14, but after I move it around a little, click play, and tell it to display its stats again, the score could be upwards of 40 because it is multi-recompiling every time I move it in the viewport.
Issue7: Characters are not being re-compiled from scratch whenever I click the play button. Instead, the same characters that were there before (known via the previous issue) are still there, but have been moved back to the location they were manually placed.