An Actor is any object that can be placed into a level, such as a Camera, static mesh, or player start location. Actors support 3D transformations such as translation, rotation, and scaling. They can be created (spawned) and destroyed through gameplay code (C++ or Blueprints).
In C++, AActor is the base class of all Actors
Each actor has a instigator, in new version it is private so ues GetInstigator() to get it .
Delegates
Data types that reference and execute member functions on C++ Objects.