Forgetting to add the "virtual" in engine code implementations of these _Implementation functions makes them not overridable by users. UHT should catch this and emit a warning/error.

For instance this made ACharacter::OnJumped_Implementation() unusable by users in 4.7.

Steps to Reproduce
  • Declare a BlueprintNativeEvent "Foo", and declare a non-virtual "Foo_Implementation" that does nothing.
  • Override this in BP or native code to print a message
  • Observe that triggering the event does not execute the overridden behavior.

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

Login to Vote

ComponentUE - Foundation - Core
Target Fix4.8
Fix Commit2517391
CreatedMar 3, 2015
ResolvedApr 20, 2015
UpdatedFeb 5, 2017
View Jira Issue