It does NOT make it so that new actors have their "Start with Tick Enabled" property disabled. It never has, so I'm surprised people are still recommending this, anyone who would've tried it would've noticed immediately that it didn't do that. 🧵
Comments
Log in with your Bluesky account to leave a comment
It seems that the text on this checkbox could be clearer to set better expectations. It's more of a UI/UX issue. However, it appears that no one is reading the tooltips. 🥲
Blueprints that derive from exactly AActor (or UActorComponent), OR from any C++ class where bCanEverTick is true, will ALWAYS be created with Tick enabled by default. Always. Period.🧵
Then if a BP Tick function exists then it will be called, and if it doesn't exist then it won't get called. I feel having actors not tick by default even when users create a tick function is a bad practice, if someone creates a Tick then it was probably supposed to get called!🧵
But in short, it's for the ChildCanTick and ChildCannotTick class meta properties when bCanEverTick is false in the parent C++ class. When:
• TRUE: Child BPs can always tick unless ChildCannotTick.
• FALSE: Child BPs can tick only when ChildCanTick.
🧵
If you have a blueprint that is being affected by that property (and the parent class has bCanEverTick=false) then you'll know, because you'll get a warning:
Comments
(See more 👇) https://dev.epicgames.com/community/learning/tutorials/l3E0/myth-busting-best-practices-in-unreal-engine#emptytickoverhead
https://dev.epicgames.com/community/learning/knowledge-base/baav/unreal-engine-faq-c-programming#code:
• TRUE: Child BPs can always tick unless ChildCannotTick.
• FALSE: Child BPs can tick only when ChildCanTick.
🧵