4.7.6 Strange Character Bluprint Compiling Behaviors

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.

Hi Amsirahc,

Issue 4 is intended behavior. Anytime the actor is moved in the editor, the construction script is ran for that actor ‘per grid increment’.

As for Issues 1-3 and why the values are combining each time it is recompiled, I’m not sure. Could you create a small test project that has this error and upload it here? You could also send it by private message directly to me over the Forums if you prefer.

I will see if I can recreate it in another project sometime this week and upload it.

This doesn’t seem to be an issue with anything in your setup but a possible bug with compiling the Construction Script in general. I’ve entered it as JIRA UE-14743 and our developers will be investigating the issue further. We will post updates here as we have them.

That error should covers all of the Construction Script issues. However I haven’t been able to reproduce #3. When I right-click the blueprint and choose ‘SelectActorsUsingThisAsset’, the correct assets are selected. Could you give me some repro steps starting from opening your project?

Sure thing. I have been loading the project via double-click from the launcher, then going to the maps folder and double-clicking on MainLevel. Making sure nothing is selected, I right-click the BP_SampleCharacter blueprint in the AI folder, and choose SelectActorsUsingThisAsset. It then selects the PlayerCamera that is manually placed in the level, even if there is no BP_SampleCharacter asset placed in the level.

I don’t have an explanation as to why it isn’t selecting the BP_SampleCharacter as well but the reason it is selecting the camera at all is because the camera is casting to the BP_SampleCharacter. If you right-click the BP_PlayerCamera and select Reference Viewer you can see it’s reference to the character.

This seems to be confined to your project, I’ve tried reproducing it in a new project but so far I haven’t had any luck. If you have time and want to hunt the issue down further, please see if you can get a repro in a new template project.

I wondered if that was the case, but wasn’t sure as it didn’t do that in 4.7.5. It’s not that big of an issue I suppose if it doesn’t interfere with anything. If I get the time, I’ll try to recreate the whole project in a new project to see if that clears everything up. Thanks for all the help. If I run across any other related issues, I’ll be sure to update this post.

Update: I have found why it is not displaying several “I’m an Orc” messages when reproducing it in another project. Apparently, I had turned on “Show Stats” in the editor viewport, which is displaying the output of the BP_SampleCharacter blueprint when it gets compiled.