Officially released on FAB! https://www.fab.com/listings/1a2f6fb0-803d-470f-9989-d75fe98d649f
A relatively simple direct event system for hooking up instanced actors and ability to broadcast events in the level editor.
This system is inspired by UEFN, Source, and many other game engines that provide a similiar system but sadly UE does not, outside of the Level Blueprint.
Connect the output event from an actor, to trigger a function on another actor. Without any required setup, interfaces, or extra components.
Some common scenarios might be as simple as hooking up a lightswitch to various lights, or a lever to unlock a door.
- If you want to connect an broadcastable event from an actor to another in the editor.
- If you want to accomplish this with ANY actor, no components and no interfaces.
TriggerActor: Have an appropriate Delegate(e.g. MulticastDelegate) and to add a URockDelegateConnectorComponent to the actor. This can be added per instanced actor or blueprint attached. ReceiverActor: Have a matching function signature to the trigger's selected delegate.
This system will work with any existing delegates and functions. No registration, no additional setup required.
There are other great event systems out there that either solve similiar but different problems or have different design goals.
This works well for a global system that you setup using Channels ahead of time. Good for highscores, and larger sweeping changes Our modified version of it https://github.com/brokenrockstudios/GameplayMessageRouter
TODO: Add Image
// DECLARE_DYNAMIC_MULTICAST_DELEGATE
UPROPERTY(BlueprintAssignable)
FRockTestMulticast OnTestNativeMulticast;
// DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE
UPROPERTY(BlueprintAssignable)
FRockTestMulticastSparse OnTestNativeMulticastSparse;
// DECLARE_DYNAMIC_DELEGATE
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FRockDelegateDynamic OnTestNativeDelegate;
Any portions of the code that are not covered by Epic's EULA are licensed under the MIT License, as specified in the LICENSE file.
- Unreal Engine EULA: https://www.unrealengine.com/eula
- Unreal Engine Content EULA: https://www.unrealengine.com/eula/content
- Inspiration came from UEFN's Direct Event Binding
- Inspiration came from Valve's Source Engine Trigger System
- Inspiration came from Minecraft's Redstone System
- ben🍃ui's recent tutorial https://benui.ca/unreal/choosing-function-in-editor/
- ActorIO
- Most similiar. Has slightly different design goals.
- LEventDelegate
- Somewhat similiar, less flexible.
- Interactive Lights System
- Lights only. Requires to use their custom actors (Switches and lights)
- Interaction only EasyInteractionSystem
- Interaction system. Not universal.
I'd love to further refine or polish this off for a wider audience. I invite everyone to either request features or make suggestions or contribute via PR.