How can I take a variable from another script and then apply it to a newly insantiated prefab?

Hello. I watched several yt tutorails but none of them really helped me/was very confusing so i couldnt understand anything. Thats my code for now:

    int bulletDamage;
    PlayerController playercontroller; 

    public void Awake()
    {
        playercontroller = playercontroller.GetComponent<PlayerController>();
    }
    void Update () {
        playercontroller.damage = bulletDamage;
        Debug.Log(bulletDamage);
	}

From that script i get error: Object reference is not set to an instance of object. The problem is i cannot assign my Player Controller scirpt to playercontroller field in inspector

I think the line you are looking for, if playercontroller is from another script, is
playercontroller=GameObject.Find(“Name_of_the_object_with_the_referenced_script”).GetComponent().playercontroller;

You mean something like this?

Script1

 public int int_Example;

Script2

public Script1 S;

void Example() {

S.int_Example = S.int_Example + 1;

}

If you want to do it with prefab, you have to do it “script” (see: Destroy an instantce of a prefab object - Questions & Answers - Unity Discussions (later it can be prefab problem as in this thread, so I recommend doing just “script”)) and replace it instead of int.