Syntax Help: JS ---> Reference a variable in another JS script

Help. 5 hours later, reading many, many posts later, and I cannot get the syntax correct, for referencing a variable from one JS script to another. ( I know how to do this in C#, but need to do this one in JS.)

First Script:

#pragma strict

private var  playerObject : GameObject ;

function Start () {
playerObject = GameObject.Find("Player");

var theScript = playerObject.GetComponent("PowerupsMainController") ;

print ("At -Start- function of showcarrottextonscreen js script, the value of variable -theScript- is: " + theScript);

var totalcarrots = theScript.carrotcounter;

 print (" The Collected carrot count is: " + totalcarrots);
}

^ The above results in error: BCE0019: ‘carrotcounter’ is not a member of ‘UnityEngine.Component’.


** The first “Print” line on line 10, results in this print out in the console: At -Start- function of showcarrottextonscreen js script, the value of variable -theScript- is: Player (PowerupsMainController)
UnityEngine.MonoBehaviour:print(Object)


if it helps, the 2nd script, where I want to read the value from, has this as the variable I’m looking to reference:

#pragma strict


public var carrotcounter: int; //counter referenced to display amount of carrots at Game Over. 

So, I think that I’ve gotten as far as “finding” the script itself (PowerupsMainController) but cannot seem to pull up the variable value… I think it’s the syntax, but am using Unity 5.6 which has cut out autocomplete from Monodevelop, and I’m feeling quite blind…

Thanks for your advice.

UnityScript knows generics, so this should work:

var theScript = playerObject.GetComponent.<PowerupsMainController>();

and yes, the dot goes there :slight_smile: