if somebody wonders what is the signature for TakeDamage(), here is what you put in your .h file.
protected:
virtual float TakeDamage(float Damage, FDamageEvent const& DamageEvent, AController* EventInstigator, AActor* DamageCauser) override;
also for the sake of god and Tim.S , please don’t type “struct” and “class” before function variable types
like “struct FDamageEvent const”, it is legacy C code. it just makes it hard to read without any advantage in 2017.