BeginPlay Triggers Twice

Hello! It’s my first time using any game engine.
I have this character selection menu and a game save that saves the character and makes it spawn by default the next time the game starts, without the character selection menu.
All works except, the first time I open the game with out any .SAV files, I’ll get the character selection menu, I’ll click on one of the buttons, and it won’t disappear, it will stay there until I click again, and because I click again one more character spawns.

Then when I stop the preview, and then click “play” again, the character will spawn twice.
The thing is that when applying the same system to a different level, it will all work just fine. I don’t think it’s something in the blueprints.
There are no multiplayer elements in this project.
I tried deleting stuff from the scene, matching world settings values from the new scene, I tried deleting everything except of the land object from the scene, nothing helped.

Then I tried unplugging everything from the BeginPlay event node and made it print a string with name of the level, to see maybe it runs on another level somehow as well.
The two strings the function returned are:
Hillford_C_0
Hillford_C_4

​​​​​​
What else can I do? Thanks!

@AdirB This code looks ok, can you show the stuff for the button click problem?

Hi, I fixed the problem by moving everything from the level blueprint to the gamemode blueprint.
That seems to have fix the problem. Can the BeginPlay event in the levels blueprints be bugged?

AdirB Nah… it’s very rarely a bug, especially not something that obvious…

This is very likely a bug, and an old one at that. I had the same problem and it turned out this has been an issue for a whole while but apparently never got fixed. Google turns up a few people with the same problem but no real solution other than creating a new level and copying your stuff over. As a workaround, one can use the game instance to save whether or not the level was already loaded once and only depending on this value execute any code.

Is this still a problem? Came looking as we’re experiencing the same issue on 4.25 and wanted to understand if it’s on us or “them” Can anyone confirm? And if it IS still a bug… how is it possible for this to still be a bug??