Prefab only instantiates on Client Host

Good Morning,

I’m messing with Mirror, which is essentially revamped UNET, and the commands are all the same. My problem, I believe, is I’m not understanding what is happening. Here it goes:

Each player has a gun. The gun contains it’s own properties, including a projectile and barrel (for bullet origin). The player script goes “Ok, search for an Object called ‘Gun’, and get it’s properties” and then uses a [Command] to instantiate and spawn the prefab.

It works in Client Host because the Client and Server are one in the same. But if I connect as just a Client, I receive Null exception errors in regards to the projectile and barrel. This is because I don’t understand UNET code or the basic logic. Here is my code. Note that the GunProperties script is a MonoBehaviour script, and the Player script is a NetworkBehaviour script.

https://hatebin.com/qpqojegekm

The trick was I wasn’t calling OnStartServer() with GunProperties