Custom event for any object ?

I’d use a different approach than Event Dispatchers.

My approach would use Blueprint Communication.

Make a Blueprint inheriting from Actor and Call it “Triggerable” for example. (Abstract C++ class would be better for this though)
In this you define two Events, for example “Trigger” and “Antitrigger”(for turning off)

Now create a new Blueprint that is you concrete Actor. A Door For Example.
Override Trigger and Antitrigger the way you want (for example rotating for opening/closing)

Now create a new Bluprint called “TriggerButton” for example.
In this blueprint you create a Variable named “Triggerables” that is a type of Array of Triggerable
Expose it at spawn so you can pick multiple objects that need to be triggered.

Implement your usual “Button Press” etc. Logic. But loop through your Array of Triggerable and de/active them accordingly.