I’m assuming these are two .h files split into one. If not, you should certainly do that.
Other issues:
- You should start all actor classes with ‘A’ (e.g. ‘AMyPawn’, ‘ACustomActor’). This isn’t just a naming convention, Unreal cares.
- Don’t use names like ‘Pawn’ for your classes because once you use the correct naming convention, it becomes APawn which is a duplicate
- 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()
- CustomActor is inheriting from AstaticMeshActor. Should be AStaticMeshActor (lower and upper case do matter)
- 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.