Null object after Instantiation

Hello Everyone,

I am looking for someone that can explain why immediately after creating an instance of a script with passed in parameters it is immediately null. attached are images!][1] from debug that show the instance being created with the values passed and immediately after in the editor getting a null reference exception.

private void Awake()
    //Assign defualt weapon
    test = new Weapon(99, 5, .5f, 0, "M1911 Pistol");

Assuming that “Weapon” is of type “MonoBehaviour” then this is because you cannot create a MonoBehaviour using the new keyword.

To create a new instance of a MonoBehaviour type you need to either create a new game object and then use AddComponent() on it. Or use GameObject.Instantiate to create a new instance of a prefab.