[Feature Request] Interface UI

Hi all

I’d like to request a bit more consistency between the ways interfaces are presented to the user in the engine. I’ve had to explain the concept of interfaces to people, which isn’t overly difficult, but things get a bit confusing when you’re within the engine.

For example:
You have an interface that contains a function without a return value.
You then implement this interface within an Actor.
This actor will not have the ‘function’ as an implementation in its ‘Interfaces’ section, within the ‘My Blueprint’ tab.
This is presumably intended behaviour, as it becomes an ‘event’ within Unreal due to not having a return value.

The confusing bit is its presentation to the user. It’s defined as a function, so it should be under interfaces section within the actor. It’s not obvious that this isn’t the case unless you really do some digging into the reasons why.
I’d like to suggest these changes to the way UE presents interfaces:

  • Within an interface you have the
    option of adding either a ‘function’
    or an ‘event’. A function can have
    return values, an event can’t.
  • When you implement an interface
    within an actor, both functions and
    events are listed within the
    ‘interfaces’ section in the ‘My
    Blueprint’ tab.
  • The colour of the text for these
    interfaces should be blue – the same
    blue as components are when you
    create a child of a blueprint that
    are defined within the parent (think
    this is new in 4.7).
  • When you change the functions /
    events from being ‘empty’ within an actor (their
    default implementation), the colour
    changes to white to clearly show the
    function / event has been implemented
    / changed from default. This means
    it’s clear to the user which has no
    current implementation (in other
    words, an empty graph) and which ones
    have been changed / implemented.
  • A flag should also be placed on these
    so that ‘empty’ functions / events
    that is from an interface
    implementation cause a warning when
    the game cooked / shipped.
  • You should be able to go into each of
    these functions / events and flag
    them as implemented (so the text
    changes white), just in case you want
    them to actually be ‘empty’ in terms
    of their functionality.
  • These recommendations don’t really
    alter the way an interface works, but
    are pretty much presentational
    changes to the user which should make the entire use of interfaces more clear.

Thanks for the consideration

Feedback section of forum is better place for suggetions