Alright, so you can remove the
void GetPerceptionLocRot_Implementation(FVector & OutLocation, FRotator & OutRotation) const;
declaration from the header file. It’s implied you’re going to override it. (intellisense will probably complain, but it should work).
Second, remove the
void AAI_Char::GetPerceptionLocRot(FVector &OutLocation, FRotator &OutRotation) const
definition from the source (cpp) file, you only need the _Implementation
version.
Third, for GetActorEyesViewPoint
, you need to add the virtual
and const
keywords, so it looks like:
virtual void GetActorEyesViewPoint( FVector& OutLocation, FRotator& OutRotation ) const override;
And then, you need to completely rewrite the source (cpp) implementation to look like:
void AAI_Char::GetActorEyesViewPoint(FVector& Location, FRotator& Rotation) const
{
GetPerceptionLocRot(Location, Rotation);
}
You don’t want to specifically call GetPerceptionLocRot_Implementation, because then any blueprint overriders wouldn’t get an opportunity to be used.
Let us know how you go!