Function parameter cant be referenced

I have made a function and am calling it from a UI button. The function is supposed to change a string based on the string parameter, that is passed through that function.

Heres the code and heres what the button is set to do BUTTON.
the button works as the console print clicked.
I shouldnt need this but the errors are at the bottom.

using UnityEngine;
using System.Collections;

public class CharacterSelect : MonoBehaviour {
	public PlayerController PlayController;

	// Use this for initialization
	void Start () {
		PlayController = GetComponent("PlayerController")as PlayerController;
	}
	
	// Update is called once per frame
	void Update () {
	
	}
	public void ChangeCharacter(string name)
	{
		print("CLICKED");

		PlayController.charName = name;
		Application.LoadLevel("Demo_LVL");

	}

}

 NullReferenceException: Object reference not set to an instance of an object

CharacterSelect.ChangeCharacter (System.String name) (at Assets/CharacterSelect.cs:20)
UnityEngine.Events.InvokableCall1[System.String].Invoke (System.Object[] args) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:141) UnityEngine.Events.CachedInvokableCall1[System.String].Invoke (System.Object args) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:259)
UnityEngine.Events.InvokableCallList.Invoke (System.Object parameters) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:575)
UnityEngine.Events.UnityEventBase.Invoke (System.Object parameters) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:717)
UnityEngine.Events.UnityEvent.Invoke () (at C:/buildslave/unity/build/Runtime/Export/UnityEvent_0.cs:53)
UnityEngine.UI.Button.Press () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Button.cs:35)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Button.cs:44)
UnityEngine.EventSystems.ExecuteEvents.Execute (IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:52)
UnityEngine.EventSystems.ExecuteEvents.Execute[IPointerClickHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:269)
UnityEngine.EventSystems.EventSystem:Update()

Ahh of course my bad, my solution was to use DontDestroyOnLoad and access PlayerController from the player gameobject in another scene.