Description

When using actor components, if you delete a node, such as event tick and then add it to an actor, even if you modify the component again, such as adding the event tick event back, the component will not fire that event; however, if you add the nodes back then add the component, then the expected behavior is displayed. This issue is a regression.

Versions tested
4.16.3 - CL: 3561208 - Issue does not occur
4.17.1 - CL: 3573198 - Issue occurs
4.18.0 - CL: 3597901 - Issue occurs

Steps to Reproduce
  1. create a new project (no template or starter content needed)
  2. create a new actor class blueprint > Name it "EventTickActor" > add EventTickActor to the level
  3. create a new actor component (go to add new > blueprint > actor component)
  4. name it "EventTickComponent" > Open EventTickComponent
  5. delete the "BeginPlay" and EventTick nodes in EVentTickComponent
  6. open EventTickActor > add component of type "EventTickComponent"
  7. compile and save
  8. in EventTickComponent add "Event Tick" event and connect it to a "Print String"
  9. get a reference to self > connect to "Get DisplayName" > connect to the "Print String" node
  10. compile and save EventTickComponent > PIE (no string will print)
  11. in EventTickActor > add component of type "EventTickComponent"
  12. compile and save EventTickActor > PIE
    Result: The new component will print the string as intended, but the privious component will not
    Expected: Both components would print strings

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-48697 in the post.

5
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.17.14.18
Target Fix4.17.2
Fix Commit3606248
CreatedAug 22, 2017
ResolvedAug 24, 2017
UpdatedJul 26, 2018