Delegate invocation list changes inside a constructor does not propagate to a derived blueprint.

A lot of people do it that way, and it will mostly work. But it’s susceptible to serialization issues when combining C++ changes with derived blueprints. It just depends on which changes you make and when as to whether the issue will show up. It’s been that way as long as I’ve been using UE4, hence my recommendation.