BCE0017 trouble with TWBS Tutorial

Hi all, I’m a complete noob, be gentle.

I’ve been using the Walker Brothers unity tutorial. So far I’m getting the basics of JavaScript/UnityScript down. I’ve managed to work out most issues I have ran into, but in this instance, this simple script is throwing up an error when I’m trying to use an overload method (correct me if I am wrong in my terminology).

The script is as follows:

function Update () 


	class Person
		var name;
		function Person(n:String)	//constructor
			name = n;
		function TeamUp(p:Person)
				print(name+" teamed up with " + p.name+"!");

Error reads as:

Assets/scripting_basics_1.js(332,21): BCE0017: The best overload for the method ‘Person.TeamUp(Person)’ is not compatible with the argument list ‘(String)’.

As far as I can tell, everything is correct as far as the Tutorial suggests, obviously there is something not formatted correctly. If someone could kindly share the correct method of pairing up Donkey and Horse via print and offer an explanation as to why I got this error. Any help is much appreciated. Thank you in advance.

The TeamUp function requires a parameter of type Person. You’re passing in a string. You want to pass in the actual object instance Horse, like so:


Note there are no quotes there - you want to pass in the variable Horse, not the string "Horse".

Ah, I had been staring at my code vs the example code too long and overlooked my inclusion of the quotes. Thank you Dave, I now have a better understanding and wouldn’t have realised without your intervention.

+1 this man.