Make Event Accessible Across Multiple Blueprints

I have made two custom events that upon interaction, cycle through an array of sounds, and array of text, from my blueprint.
image


I’m wondering if there’s a way I can make these events accessible across multiple blueprints, since I want to have this dialogue system set up with each interactable object. I’d want to use different arrays, though, according to the blueprint.
I tried using interfaces but it did not work, as I made it in the first person character BP and I don’t know how to make it transfer to the other blueprints.
I also tried making the events in the level blueprint, but I was unable to call on those events from different blueprints.
I am unable to call the events from blueprints that I’d need to reference/cast to, as some of the blueprints haven’t been spawned yet, and Unreal doesn’t let me reference an object, unless it’s in the outliner (which, for some of the blueprints that haven’t spawned yet, is not an option).

I’m not sure if this all makes sense but
TLDR; I want to have an event that’s accessible across all my blueprints, and I’m unsure how to do it using interfaces.

Hey @malak03s!

I would try putting them in the game mode!

The game mode is always, ALWAYS loaded.

You can reference it like you were trying to do with the level blueprint.

If you give the events input nodes for whatever variables are needed, you can pass them into the input when the event is called, customizing things like text, sounds, location for playsound (if you wanted to stop using play sound 2D), et cetera. You can also give it output nodes to give you returned variables if needed. :slight_smile:

Hi! Thanks for your response! I’ll try this tomorrow… Since I don’t have much experience with this, how would I go about creating an event (that can be referenced to all the other blueprints) in the game mode? :0 Thank you! :slight_smile:

No worries! Please, ask anything!

To create a custom event, just right click → create custom event.

Then to reference it:

rightclick → GetGameMode → cast to (your game mode) → name of event.

Don’t worry about the cast- GameMode is always loaded so it’s not a performance hit.