Getting an error trying to EnableInput on PlayerController

You can spawn actors from any class that is able to access the game world —typically by calling GetWorld().

As for where you should spawn actors, that’s entirely up to you. I suggest, wherever it makes the most sense to you and the other developers on your project.

I wish I could give you a more concrete answer, but there’s just no single right way to do this.