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