If you get that error it means that the type can’t be used in blueprints since unreal engine doesn’t handle reflection for that type.
(say you made a custom struct that didn’t use USTRUCT(), you wouldn’t be able to mark it as a uproperty)
You will need to use something other than TSharedPointer
Maybe TSoftPointer<> would work? I think this can be a uproperty
TSoftObjectPtr<> can be.