How to replicate multiple "Event Begin Play"?

I couldn’t create multiple “Event BeginPlay” node in the blueprint, whenever i copy and paste the original “Event BeginPlay”, it automatically creates a “CustomEvent”.

Is there a way i could create multiple “Event BeginPlay”? How?

Well I’m actually working on toggling the visibility of a spotlight in a first person template. And the visibility is automatically turned on when the the game begins. So i’m about to set the visibility to off first when the game begins so that i could toggle it on by myself in the game.

I’m actually watching a video tutorials about “creating a simple flashlight”. And in the video the person could actually replicate a second “Event BeginPlay”. (Probably it’s because he’s been using an older version of UE4)

Here’s the link to the tutorial videos i’ve been watching (in case you’re wondering what i’ve been working on)

No. There can only be one of BeginPlay in a given graph. It’s an overridden event that gets called by the engine. If there was more than one then it can’t know which BeginPlay to call.

The question now is: why do you want to do that?

I don’t see two BeginPlay events. I see one BeginPlay and then a custom event that toggles the flashlight on/off. The BeginPlay event happens once when the actor is spawned. That’s when you want to turn the flashlight off (but only if it’s not off by default). After that, you need to trigger the light functionality with some other event. In the video, he uses “Input Action Flashlight”. What you may be missing is that this event exists because he specified a player input. At about 0:30 he mentions a “key binding in the project settings” – that’s what will make the input action event show up in your graph.

In the first image, only one “Toggle Visibility” node is being used. The one with the connected execution pin (white line) is being run when the event is triggered. The other one is doing nothing.

In the second one, “Toggle Visibility” will be called when the actor is spawned. It doesn’t explicitly turn off the flashlight, it toggles it. So if the flashlight defaults to ON then that call will turn it OFF, but if it starts out OFF then it will turn it ON. In general, when you initialize, you should explicitly turn things on and off, not implicitly like with the toggle.

I’m not sure what you mean by “messy”. Calling “Toggle Visibility” from multiple places is fine. Doing that kind of thing is standard practice. Call it from where you need to call it. In this case it does seem that you only need to call it from the input event. Like I said, in BeginPlay you want to force it OFF. You can do that by calling “Set Visibility” with FALSE instead of the toggle function.

But you don’t even need to do that. I think you should try this:

Connect BeginPlay straight into the Branch next to it, bypassing the Toggle node. In the Flashlight details, you want to make sure “Visible” is un-checked. Try that. It should be off to start and the toggle should make it turn on/off.

Actually what i’m doing right now works perfectly fine as shown in the video. But since i couldn’t create another “Event BeginPlay”, i just connect the toggle visibility of the flashlight to the one and only one “Event BeginPlay” used by the characterBP by default. But what bothering me most is that it’s not properly arranged and it’s kinda messy. What can i do to separate them while it was still performing the same functionality?

[Sry to bother u so much tho, i really appreciate your help]

Ohh okay it worked! Thank you very much! You really helped me a lot, really really appreciate your help! :smiley:

Wonderful! Make sure to keep your blueprints clean by deleting unused nodes. Don’t be confused by “pure” nodes either – they don’t have execution pins, they plug into nodes with execution pins and feed them data. But any node with an execution pin that isn’t connected will never be run.

Oh, and please close out your question by marking this as the answer (check-mark on the top-left).

GL with the rest of your endeavor.