BP Functions been skipped

Hey there,
I have a pure function that generates a number between 1 and 3 but when I call it and print the result, what is inside differs from what I get outside the function. The log is something like this:

PIE: Play in editor total start time 0.274 seconds.
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Inside Result  3
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Outside Result 1
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Inside Result  3
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Outside Result 1
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Inside Result  3
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Outside Result 2
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Inside Result  1
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Outside Result 2
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Inside Result  3
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Outside Result 2
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Inside Result  2
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Outside Result 1
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Inside Result  2
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Outside Result 2
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Inside Result  3
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Outside Result 2
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Inside Result  1
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Outside Result 1
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Inside Result  1
LogBlueprintUserMessages: [BP_MarsMarines_GameMode_C_0] Outside Result 1

Any help to understand the issue will be much appreciated!

Random Integer in Range gets called twice because you have two wires coming out of it. That is how pure functions work. You need to “cache” the output into a local variable and use that as the return and for printing.

Thank you!