I’m not sure what you mean by ‘subprocess’ - in terms of a process of the Operating System - calling a blueprint functions do not launch processes… And game logic happens in the game thread.
Think of multiple blueprint actors in a game: they all fire up their BeginPlay, which is a Blueprint Event. Make an experiment yourself: place your counter for example in the game mode. And each Actor can read the variable from there. The BeginPlay does get called for all of them, so it looks to you, like they are called simultaneously, but code all runs in the gamethread, so only 3 actors in the level will ‘win’.
I’ll make an example: Place 5 test actors in your level with this code in BeginPlay:
Note: You need to have your own gamemode with that Counter variable to make the example work. All 5 actors run this code, but only 3 will print the greeting message.
BTW: Calling an event while it is executing: if you have a custom event or a function defined and call it from within itself - this leads to an endless loop unless you have some exit criteria to limit the call depth.
