Description

Functions whose definition is in a platform specific "if" block cannot be bound to a delegate and also causes an assert when beginning to play in PIE for the first time since compiling, but the assert is handled after a short time.

Regression?: NO
This also occurred in 4.10.4 and 4.11.2

Steps to Reproduce
  1. Download the attached project, generate project files, compile the project, and open the project
  2. Press play and walk toward the stairs to overlap a blueprint. Notice that the debug messages at the top mention that the Unbound and the Bound functions are being triggered
  3. Open the Visual Studio project
  4. Open MyActor.h
  5. Uncomment (remove the //) line #28 and #33
  6. Compile the project
  7. Press play for PIE, the editor will freeze for a moment, as it is asserting due to the function attempting to be bound.
  8. When PIE starts, walk towards the stairs to overlap the blueprint again
    Result: Only the unbound function is called, as the other function is unable to be bound
    Expected: The function should be able to be bound despite being in the platforms specific #if block

Have Comments or More Details?

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

1
Login to Vote

Fixed
ComponentUE - Foundation - Core
Affects Versions4.114.124.13
Target Fix4.13
Fix Commit3028282
Main Commit3050320
CreatedJun 3, 2016
ResolvedJun 27, 2016
UpdatedApr 27, 2018