Why the event begin play is triggered twice? How to make it work once?

Why the event begin play is triggered twice? How to make it work once?

just to make sure, you are aware that class (blueprint) code runs for each instance of that class?

Please post more info, begin play should be called once or else you call it on C++ side again

Yes I was going to mention that. Usually it is because more than one instance of the Actor class has begun play on the Level.