I have this same issue and it seems like it should be considered a bug. Because BeginPlay seems like the standard event to initialize Actors in UE4 it should only be called once while the object’s state persists. Otherwise it could cause serious issues. For example, if you have a instance editable dictionary on one of your actors and on beginplay it copies the keys of the dictionary to an array so that it can randomize their order whilst not repeating. If BeginPlay is called twice the keys will be copied twice to the array, the array will be twice the size it’s supposed to be, and they will no longer be guarenteed to be non-repeating. You shouldn’t have to remember to add a DoOnce node on every BeginPlay in your game.