Just started to learn about covariance in general. Don’t really understand it.
Using TObjectPtr I get:
InAirState.h(18): [C2555] 'UInAirState::UpdateCharacter': overriding virtual function return type differs and is not covariant from 'UBaseState::UpdateCharacter'
Using regular Raw pointers (*) , I don’t get any errors.
Something to do with TObjectPtr being a template? Which is not Covariant in C++? How would I use TObjectPtr in a covariant return type scenario?