How to add base functionality to Actor?

Why, you can, just subclass all you NPC’s from your Actor.
You should consider that AActor is not just for players - it is a base type for all actors, like scene cameras and static meshes, lights and other engine stuff.
The main Actor for game characters is APawn and ACharacter classes, so you should extend those.

And next thing you should consider - is component based architectures of Unreal Engine - so the main functionality is located in PlayerController and other classes, of which Player Actor is usually build. So main game logic should be implemented with those.

For AI there is new AI behaviour classes, which I have’nt used yet.

Usually subclassing will be enough for all your needs, In raycast you can check and upcast Hit actors to your base class without a problem.