Announcement

Collapse
No announcement yet.

Advanced Blueprint Communication (ABC) Component

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    [WIP] Advanced Blueprint Communication (ABC) Component

    Hi everyone,

    I've been working on Advanced Blueprint Communication (short name ABC) component that should make it easy to create some complex interactions between blueprints and give you ways to setup more diverse and multi-functional gameplay systems.
    I was not very happy with the tools that UE4 provides to communicate between actors. Events are fine when you want to use them inside the same blueprint but dispatchers and event binding get confusing once you try to use them between different actors. I spent considerable time iterating through several designs and ended up creating a component that should significantly simplify doing tasks that you would otherwise spend more time on, as well as give you ways to do more complex communication pattern between your blueprints.
    Examples of functionality:
    • Call an event in Level Blueprint
    • Register plain actors as listeners in ABC and invoke events in all listeners
    • Register Hierarchy between ABC components and propagate event execution up/down the hierarchy
    • Assign a "channel" to ABC component and broadcast on channels to invoke specific events on all ABC components listening on that channel
    • Do a custom filtering and AutoRecieve specific events based on event name and origin (Self, Parent, Child, Channel)
    • Do a custom handling of events that are not set to be auto-received by filter and implement custom behavior


    The combination of above methods of communication between blueprints, combined with the non-invasive/addon character of component should enable the user to be able to setup all kinds of complex event propagation patterns.

    I've created a demo level that walks you through some of the functionality. I will be happy to answer all questions in regards to demo, ABC design and functionality as well as implement additional functionality that fits the design criteria. I strongly recommend checking out the demo, since most of above may sound abstract due to the nature of functionality that the component provides.

    Link to a playable demo:


    Thanks to everyone for your feedback and interest.


    Status:
    *[PENDING] Submit to Marketplace pending documentation and cleanup actions.



    ABC Changelog
    * [TBA][WIP] Cleanup, commenting and tidy-up. Documentation being written.



    Demo changelog and special thanks:
    * [4/10/2016][Done] Initial demo packaged



    #2
    From description I think this is great plugin. (I am doing something like this in my game).

    Problem with communication blueprints (and tutorials examples etc) is that ones that need it do not know that they do need something like that, and their problems arise from their lacking skills in communication, and pointers etc. And ones that know they need better communication can already solve it themselves or are close to that skill level.

    I done very simple example of component that uses dispatchers to manage lights. And I think nobody downloaded it or tried.

    PS. Make sure this works (or does not) in multiplayer, and add that information.

    Comment


      #3
      Originally posted by Nawrot View Post
      Problem with communication blueprints (and tutorials examples etc) is that ones that need it do not know that they do need something like that, and their problems arise from their lacking skills in communication, and pointers etc. And ones that know they need better communication can already solve it themselves or are close to that skill level.
      Very well said, couldn't put it better myself.
      Originally posted by Nawrot View Post
      PS. Make sure this works (or does not) in multiplayer, and add that information.
      Will do, don't have much experience with multiplayer side of UE but shouldn't be hard to toggle some replication checkboxes and select how it replicates.

      Comment

      Working...
      X