Behavior of Debug-Log, Messages Written at Which Time?

eggeuk 3 years ago updated by Lazlo Bonin (Lead Developer) 3 years ago 1

Hi, every body. I'm just testing state behaviors. I tried to find out, at which time transitions occur. In the shown graph there is a difference in time between entering and leaving the graph, represented by the loop.

I thought by myself the debug log should firstly write my 'In Message' and then step by step the indexes. This behavior can be seen, when the steps of the loop are changed to 2.000 or even 20.000. We have to wait until the loop is through. and then all messages are written at once.

Is it true that all debug log messages are written together at special times? When a 'Node Debug Log' is executed should it immediately write to Console? And, is there a gathering of messages across activated graphs and states?

Using: 2018.2.10f1, Bolt 1.4.0f7

Bolt Version:
Unity Version:
Scripting Backend:
.NET Version (API Compatibility Level):
Satisfaction mark by eggeuk 3 years ago

Debug Log in Bolt does exactly the same thing as Debug.Log in C#. The messages are written as they get sent, and if they are identical and Collapse is enabled, then they will be grouped in the Console.

What I think you may be misunderstanding here is that all these logs are happening in the same frame, even though you're in a For Loop. If you want to wait one frame between each log, you'd have to enable Coroutine on On enter State and add a Wait For Next Frame in your loop.

But I'm not sure this is what you think is the issue; can you be clearer? What do you expect to happen, and what is happening exactly?