how to access variables in a function script attached to a clone

i have instantiated a lot of clones (stars), which i have initiated each (on instatiation) with variables for an individual 'starnumber and a ‘starrandomnumber’, which are contained in a function called “initiate”, which is in the script (“Initiatestar”) which is attached to the clone. That works fine, but when i want to select a star with a raycast, i need to be able to access the individual star ID and random number, so i can use those to identift the star , and in another function. i can do the raycast, access the script, and the function, but not the variables in the function.
Im not sure if this is possible. i dont need to change their values, just read them. how do i do this?

i dont know if there is a better way to instantiate a clone with some associated variables that can be used to identify them individually. the way ive done it is:

instantiate the clone, (which has a script attached called initiate star),
call a function in the script, called initiate, into which i pass 2 variables previously created, to become 2 variables called starnumber, and starrandom number.

but i dont know how to access those to use to identify them individually.

any help please!!


In the Initiate Star script, add two public variables: public int starNumber and public int starRandomNumber. On raycast, have the raycast return hitInfo and then use hit.gameObject.GetComponent<InitiateStar>().starNumber to get star number, or .starRandomNumber to get the starRandomNumber.


RaycastHit hit;
if (Physics.Raycast(transform.position, transform.forward, out hit))
    InitiateStar initiateStarScript = hit.gameObject.GetComponent<InitiateStar>();
    int starNumber = initiateStarScript.starNumber;
    int starRandomNumber = initiateStarScript.starRandomNumber;