PIE performance with blueprint tick

Play in editor has huge perfomance problems when you have many actors in a level with a tick event added to the blueprint graph. I don’t know if this is intented or if i’m doing something wrong.

It’s easily replicable in a new project in a few minutes.

Here’s an image of how to replicate.

Hi, that’s why you shouldn’t do stuff every single frame (on tick) unless you really need to and rather build your logic event driven. So inside your actor settings you can set StartWithTickEnabled to false which will disable tick and you will again have no performance problems.

Right, but the actors are still ticking without the event tick node with no perfomance issues, the issues only appear after adding the node. Also, this performance hit does not happen in packaged game, only PIE.

I just tested this. A totally empty TestActor seems to tick only once during its spawn. After spawned in the level it doesn’t tick. Hence performance hit only happens on the initial spawn.

Adding only the event tick node forces the TestActor to tick even if it is not rendered and not running any code.

So actors don’t actually tick unless you add that node? I guess that explains it, thanks.

but the actors are still ticking
without the event tick node with no
perfomance issues

AFAIK they won’t tick in BP when you don’t have the Event Tick implemented, and C++ should be much faster than BP.

Also, this performance hit does not
happen in packaged game, only PIE.

Packaged games will always run faster than from the editor. No idea how many optimizations happens especially on the blueprints when you package the game (I mostly use BP for event driven stuff and C++ for the heavy lifting)…

Seems to be rather large though (from online learning blueprint kickstarter course, under advice around minute 14 Blueprint Kickstart | Course)

So actors don’t actually tick unless
you add that node?

They will still tick, but not in BP only native in C++. So if you do not need tick, its better to always disable it.

good advice, thanks!