# Construction Script executes more times than it should

**URL:** <https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353>\
**Category:** Programming & Scripting\
**Tags:** unreal-engine, construction-script, question\
**Created:** [November 21, 2025, 6:04pm UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353 "2025-11-21T18:04:38Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![MisterPixel](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/misterpixel/32/629747_2.png) [@MisterPixel](https://forums.unrealengine.com/u/MisterPixel)\
**Post date:** [November 21, 2025, 6:04pm UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353/1 "2025-11-21T18:04:38Z")

</div>

Hello, everyone! Here’s a simple test that everyone can try out on their machine:

1. In any project (I’m using a completely Blank new one for this), create one Blueprint Actor:

2. Add a simple Print String node to its Construction Script:

3. Do NOT add any instance of the Blueprint to your level (not yet), just leave it empty:

4. Save and Compile the Blueprint, then check the Output log (best to clear it before, for readability):

5. To make matters worse, now add 1 instance of the Blueprint to your level:

6. And now repeat step 4 above:

Can anyone please tell me why do I have **3x** executions at _step 4_ (instead of **none** ) and then **6x** executions at _step 6_ (instead of **1x** )? Depending on the project, I even had between **7x** and **10x** such “ghost” executions for very similar scenarios.

And yes, _I do know_ that the Construction Script gets executed whenever you drag the actor in the Editor etc., which I did not do, as you can clearly see from the steps above. Feel free to try it out for yourselves!

I simply cannot understand **why is this happening** , since it’s the root-cause for a much bigger problem I’m having. And please, don’t tell me to avoid using the Construction Script, I really wish to know why it’s behaving this way, as it’s either a _bug_ or a _feature_ that I wish to get to understand. Thank you!

---

<div class="post-metadata">

**Author:** ![MisterPixel](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/misterpixel/32/629747_2.png) [@MisterPixel](https://forums.unrealengine.com/u/MisterPixel)\
**Post date:** [November 21, 2025, 6:57pm UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353/2 "2025-11-21T18:57:03Z")

</div>

I see other people have noticed the same problem, but also got no definitive answers:

- [Issue: Construction Script starts multiple times](https://forums.unrealengine.com/t/issue-construction-script-starts-multiple-times/100548)
- [[4.9P2] Object was exist without a ConstructionScript calling - #10 by TJ\_V](https://forums.unrealengine.com/t/4-9p2-object-was-exist-without-a-constructionscript-calling/328331/10)

---

<div class="post-metadata">

**Author:** ![name235711](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@name235711](https://forums.unrealengine.com/u/name235711)\
**Post date:** [November 22, 2025, 10:02am UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353/3 "2025-11-22T10:02:31Z")

</div>

But is it really just the construction script?

I get some weird function calls every time I start to play in editor, some get called like 3-5x. I have the feeling it is happening after start too, but would always think it is due to my programming

---

<div class="post-metadata">

**Author:** ![MisterPixel](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/misterpixel/32/629747_2.png) [@MisterPixel](https://forums.unrealengine.com/u/MisterPixel)\
**Post date:** [November 22, 2025, 2:51pm UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353/4 "2025-11-22T14:51:37Z")

</div>

For me I’ve only noticed it with the CS (for a very long time), however, please feel free to give some reproducible examples, if you feel that the issue might be broader. Who knows, you might be on to something, and this behavior is broken on multiple levels…

---

<div class="post-metadata">

**Author:** ![L1z4rD89](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/l1z4rd89/32/1194537_2.png) [@L1z4rD89](https://forums.unrealengine.com/u/L1z4rD89)\
**Post date:** [November 22, 2025, 3:47pm UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353/5 "2025-11-22T15:47:21Z")

</div>

Hey @MisterPixel

I think the **ConstructionScript** gets executed for every frame for every instance while compiling. If you select **ClassSettings** , please disable **RunConstructionScriptOnDrag** and see what happens when you drag the instance of the blueprint inside the level and then let go. Does it only show once?

What problem are you facing when the **ConstructionScript** gets executed 3 times for each instance in a row?

What about functions you can call inside the editor instead of using the construction script?

---

<div class="post-metadata">

**Author:** ![MisterPixel](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/misterpixel/32/629747_2.png) [@MisterPixel](https://forums.unrealengine.com/u/MisterPixel)\
**Post date:** [November 25, 2025, 12:45am UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353/6 "2025-11-25T00:45:58Z")

</div>

Hello,@L1z4rD89 and thanks! Well, I can’t actually disable **RunConstructionScriptOnDrag** because I am using a Blueprint actor, not a C++ one, as it can be seen from my screenshots. But this is not that relevant for me, since I have already stated that I am not dragging my actor through the level, I am very much aware that dragging would trigger the CS to be re-run. If you read the steps I’ve outlined in my first post, you’ll see how my scenario is way simpler than that.

The problem I’m having with this odd behavior is that I rely on the CS to give me some critical information _inside the editor_ ( **not** at runtime). And this throws it off, because not only does it get called more times than needed, but it actually returns very different values (few “correct” ones and a lot of “bogus” ones). For example out of **7x** (completely unnecessary) calls that get triggered, **2x** - **3x** of them give me the correct value, while the other **4x** - **5x** give me some random stuff.

---

<div class="post-metadata">

**Author:** ![L1z4rD89](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/l1z4rd89/32/1194537_2.png) [@L1z4rD89](https://forums.unrealengine.com/u/L1z4rD89)\
**Post date:** [November 25, 2025, 7:24am UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353/7 "2025-11-25T07:24:12Z")

</div>

Hey @MisterPixel

I meant this (just FYI):

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/e/a/9/ea90936fb1745a769e3eff1b5f9b30add987065c.png)

The behaviour you mention happens in every UE version and is the normal behaviour(as far as I know). When you compile your blueprint the **ConstructionScript** runs for every instance for X frames while compiling. It is reproducable with your setup from 4.27-5.6.

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/7/7/e/77efbe20d319a183ee101e169b0658c28c5bc75c.png)

What do you want to do? Maybe there is another solution for you to become rid of that problem (using another technique)? **EditorUtilities**? Functions with **CallInEditor** selected?

---

<div class="post-metadata">

**Author:** ![MisterPixel](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/misterpixel/32/629747_2.png) [@MisterPixel](https://forums.unrealengine.com/u/MisterPixel)\
**Post date:** [November 25, 2025, 3:33pm UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353/8 "2025-11-25T15:33:52Z")

</div>

Thanks, @L1z4rD89, I forgot about that Class Setting! But as I said, I knew about the dragging thing and it’s not what I’m experiencing. My problem is that the CS runs multiple times when hitting the Compile button. AND I see a very interesting thing you have posted in that 2nd screenshot: Apparently, someone made a bug ticket for this exact issue, and it was marked by the UE staff as “By Design”. Can you please share the actual link to that ticket? Thank you so so much!!!

---

<div class="post-metadata">

**Author:** ![L1z4rD89](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/l1z4rd89/32/1194537_2.png) [@L1z4rD89](https://forums.unrealengine.com/u/L1z4rD89)\
**Post date:** [November 25, 2025, 3:55pm UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353/9 "2025-11-25T15:55:22Z")

</div>

Hey @MisterPixel

just use this link:

> **[The Unreal Engine Issues and Bug Tracker](https://issues.unrealengine.com/issue/search?q=construction%2Bscript)**
>
> Welcome to the Unreal Engine Issue and Bug Tracker. You can check the status of an issue and search for existing bugs. See latest bug fixes too.

This will show you every entry about **ConstructionScript.**

Some numbers to look at:

**UE-49006**

**UE-14743**

**UE-14061**

If you need help to redesign your current blueprint logic you can just post what you want to do and I (or someone else) will show you different ways to achieve your goal 🙂

---

<div class="post-metadata">

**Author:** ![MisterPixel](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/misterpixel/32/629747_2.png) [@MisterPixel](https://forums.unrealengine.com/u/MisterPixel)\
**Post date:** [November 25, 2025, 4:17pm UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353/10 "2025-11-25T16:17:46Z")

</div>

Thank you so much, @L1z4rD89! Ok, so here’s what I could gather from the following 3 bug reports:

- [Unreal Engine Issues and Bug Tracker (UE-14061)](https://issues.unrealengine.com/issue/UE-14061)
- [Unreal Engine Issues and Bug Tracker (UE-14743)](https://issues.unrealengine.com/issue/UE-14743)
- [Unreal Engine Issues and Bug Tracker (UE-49006)](https://issues.unrealengine.com/issue/UE-49006)

They were created as a response to the following forum posts complaining about the exact same issue as mine:

- [Blueprint constructor is being executed twice?](https://forums.unrealengine.com/t/blueprint-constructor-is-being-executed-twice/315289)
- [Construction Script runs 3 times on drop](https://forums.unrealengine.com/t/construction-script-runs-3-times-on-drop/403077)
- [4.7.6 Strange Character Bluprint Compiling Behaviors](https://forums.unrealengine.com/t/4-7-6-strange-character-bluprint-compiling-behaviors/316510)

It seems that the general consensus (accepter answer) is that this is “working as expected”, since the reason why we get multiple executions inside the Editor is that the CS is being ran for each frame while the BP is still compiling.

However, I have now managed to find an entirely different explanation under [this Reddit post](https://www.reddit.com/r/unrealengine/comments/1js6eo6/can_anyone_tell_me_why_when_i_recompile_with_a):

If you read the replies between _BARDLER_ and _AshenBluesz_, you’ll see that apparently the CS runs **3x** times (same number observed by me, as well as all other users in the above UE links) because:

1. One run happens on “spawn actor”
2. One run happens on “post load”
3. One run happens on “post change properties”

So now I am a bit confused: Are we getting those **3x** CS executions because of the **3x** frames it takes the Blueprint to compile (and the CS being ran for each frame while compiling), OR because of these completely different **3x** triggers outlined by the [Reddit post](https://www.reddit.com/r/unrealengine/comments/1js6eo6/can_anyone_tell_me_why_when_i_recompile_with_a) above?

Please let me know what you think and how these different sources of information conflict with (or confirm) one another? Thank you so much!!!

---

<div class="post-metadata">

**Author:** ![L1z4rD89](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/l1z4rd89/32/1194537_2.png) [@L1z4rD89](https://forums.unrealengine.com/u/L1z4rD89)\
**Post date:** [November 25, 2025, 4:54pm UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353/11 "2025-11-25T16:54:50Z")

</div>

Hey @MisterPixel

soooo when you press compile the engine recreates your blueprint. It creats a new instance and changes/copies the variables.

That means that this

> I think the **ConstructionScript** gets executed for every frame for every instance while compiling

might be wrong and SpawnActor, PostLoad and PostChangeProperties are triggered and cause the tripple execution of the ConstructionScript

---

<div class="post-metadata">

**Author:** ![MisterPixel](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/misterpixel/32/629747_2.png) [@MisterPixel](https://forums.unrealengine.com/u/MisterPixel)\
**Post date:** [November 25, 2025, 6:22pm UTC](https://forums.unrealengine.com/t/construction-script-executes-more-times-than-it-should/2677353/12 "2025-11-25T18:22:40Z")

</div>

Yeah, I’m just not sure why this isn’t better documented on their [official UE docs page](https://dev.epicgames.com/documentation/en-us/unreal-engine/construction-script-in-unreal-engine) for the CS. Cause it’s clear that:

1. People expect a different type of behavior
2. The current behavior is extremely non-intuitive
3. Nobody knows exactly “why” it acts that way or how it actually works, it’s just some speculation here and there about “what UE does under the hood”, but I’m still treating it as rumors, having some possibility of truth somewhere in those explanations
