This problem looks intended behavior. But in some perspective, this looks bug. So I used both of [FEATURE REQUEST] and [Bug] prefix.
Related post: Severe UE5 Memory leak BP visual debugging
It seems some real time functionality is added to Blueprint debugger, based on recursive function calling to read through properties of UCLASS, USTURCT, and containers like TArray, TMap, and TSet, in UE5.
But, with a Blueprint that has many properties, or with aBlueprint that has a containers that have many items, if try to use Blueprint debugger, editor could got hitch, freezing, and crash by ran out of memory. Because, the behavior based on those recursive calling of functions, try to iterate for every single items of containers, and every single properties of struct or Blueprint. In specially, this recursive calling is happen at every tick, so It could be serious problem. (Actually, it was. I had to stop all work and investigate this problem, and I had to spend time to make some way against this problem in this whole week.)
Those recursive function calling seems to be intended behaivior, in my thought. If so, would it be better if there is some optional way to evade this?
At now, already “DebugTreeLeaf” metadata keyword exists in the released engine code. This keyword makes to skip those recursive function calling chains against reference of UCLASS. According comment in code, It is made for animation data blueprint, with many properties. But, this works for only UCLASS. And, this is the way in c++ level. Not Blueprint level.
My suggest is :
-
like “DebugTreeLeaf” metadata keyword, or some similar else way,
-
Way to evade/skip/stop for recursive calling function chains,
-
It could be applied to USTRUCT, TArray, TMap, and TSet. Not only UCLASS.
- It will be better if it is possible to all typea of properties of Blueprint
-
It could be set in Blueprint editor, not c++ code level.
- For example, variable detail tab in Blueprint editor?
or it could be more simple:
- The global option to turn on and off those recursive function calling chain, in Blueprint debugger UI on editor.
- To see only variables set as watching value. To avoid iterating for all properties of instance “self” that even it does not expanded. (This includes referenced other BP instances in “self” instance at now.)
In some circumstances like that related post, this problem could make very painful and tough to debugging. Sometimes, it is almost impossible to work.
I would like asking to consider this suggestion positively.
Thank you.