Start Button

how can i make this script start after pressing button
like tap to start if i put it on Update or Start when i press the button its so slow
using UnityEngine;

public class PlayerController : MonoBehaviour {

	public Rigidbody rb;

	public float forwardForce = 2000f;
	public float sidewaysForce = 500f;

	public void FixedUpdate ()
	{
			rb.AddForce (0, 0, forwardForce * Time.deltaTime);

		if (Input.GetKey ("d")) {
			rb.AddForce (sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
		}

		if (Input.GetKey ("a")) {
			rb.AddForce (-sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
		}

		if (Input.GetMouseButton (0)) {
			if (Input.mousePosition.x > Screen.width / 2)
				rb.AddForce (sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
			else
				rb.AddForce (-sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
		}
	}
}

@Miller-M4 ,
What I understand from your question is you want to use a UI BUTTON to start the game,you can definetily do this refer this tutorial
1.)UI-button tutorial
2.)StartMenuTutorial
Implement these tutorials in your required way and if you got any doubts ping me I will help for sure

i tried a lot but nothing working this is my script now every thing is good expect when i press restart while ads showing i press on screen player start move and ads still showing and player crash and it
repeating like this
and can someone apply it to my script cuz i’m bad
using UnityEngine;
using UnityEngine.Advertisements;
using UnityEngine.SceneManagement;

public class PlayerController : MonoBehaviour {

public Rigidbody rb;

public float forwardForce = 2000f;
public float sidewaysForce = 500f;
public bool Started = false;
public GameObject StartText;

void Start()
{
	Started = false;
}

public void FixedUpdate ()
{
	if (Input.GetMouseButtonDown (0)) {
		StartText.gameObject.SetActive (false);
		Started = true;
	}
	if (Started == true) {
		Time.timeScale = 1f;
		Time.fixedDeltaTime = 0.02f * Time.timeScale;
		rb.AddForce (0, 0, forwardForce * Time.deltaTime);

		if (Input.GetKey ("d"))
			rb.AddForce (sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
		{

			if (Input.GetKey ("a"))
				rb.AddForce (-sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);{
			}
		}
	}

	if (Input.GetMouseButton (0)) {
		if (Input.mousePosition.x > Screen.width / 2)
			rb.AddForce (sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
		else
			rb.AddForce (-sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
	}
}

public void Restart()
{
	SceneManager.LoadScene (SceneManager.GetActiveScene ().name);
	Time.timeScale = 1f;
	Time.fixedDeltaTime = 0.02f * Time.timeScale;
	Advertisement.Show ("video");
}

}`