About BeginPlay for Components



First question: Why does ben not call Super::BeginPlay()?

Second: Does anyone else get extremely strange behavior when overriding UTankTrack::BeginPlay? When I tried this, my Tank Tracks started doing the following on every successful compile:

  1. Losing their static mesh (set to None)
  2. Losing their physics material (set to None)
  3. “Simulation triggers hit events” becoming un-set
  4. Stopped ticking
  5. Stopped existing (one of the tracks could not be found by any blueprint references, but the other could)

I tried multiple times removing the tracks and re-adding them in the tank blueprint, but the above kept occurring. What finally worked was to roll back to the previous commit, not override BeginPlay, and put the OnComponentHit.AddDynamic() in the TankTrack::TrankTrack constructor instead. Is there anything wrong with doing it this way? As far as I can see, the event delegate binding is all local to the PrimitiveComponent class TankTrack derives from, so I can’t see why this binding needs to go in BeginPlay to begin with, as opposed to the constructor.


Did you try calling Super::BeginPlay() in your overridden BeginPlay and still have the problems?