TWeakObjectPtr doesn't work in 4.17 as before

Hi,

I think the problem is that the compiler has not seen the definition of ABaseCharacter. You can tell by removing the ‘class’ (which is a habit best avoided anyway):

UPROPERTY()
TWeakObjectPtr<ABaseCharacter> PawnInstigator;

… and then you should get an error more like ‘unknown identifier: ABaseCharacter’. So you need to explicitly include the header containing ABaseCharacter at the top of this header:

#include "BaseCharacter.h"

This probably used to compile due to a different ordering of #includes.

Hope this helps,

Steve