Error LNK2005: "public: bool __cdecl *** already defined in ***

I’m assuming these are two .h files split into one. If not, you should certainly do that.

Other issues:

  1. You should start all actor classes with ‘A’ (e.g. ‘AMyPawn’, ‘ACustomActor’). This isn’t just a naming convention, Unreal cares.
  2. Don’t use names like ‘Pawn’ for your classes because once you use the correct naming convention, it becomes APawn which is a duplicate
  3. You’ve got a constructor for AUsableActor in the CustomActor class. You should change CustomActor to ACustomActor and then change the constructor to be ACustomActor()
  4. CustomActor is inheriting from AstaticMeshActor. Should be AStaticMeshActor (lower and upper case do matter)
  5. Your CustomActor should be decorated with a UCLASS() (like your Pawn class).

Fix up these issues and if it still doesn’t work, post the headers and error messages again.