Link to game controller from GameObjects scripts

I’m going to create a game like chess - two players, turn-based, one scene etc…

I understand how to create GUI, how to create and use Game Objects, how to create game controller etc.

But I don’t understand how to create links to this controller from Game Objects scripts ))
For example, user press button “New game”. I instantiate new game controller. How to get link to this object from GameObject scripts?

Generally GameObjects are managed (created by Unity engine), links between GameObjects we could get via Unity API. But game controller created by me and could not be found by Unity API.

What is the best practice for this task?

If I understand your question correctly, I think you wan this.

using UnityEngine;
using System.Collections;

public class MovingPlatform : MonoBehaviour {
	
    public GameObject gameControlObj;

	void Start () {

	}

        void OnGUI(){
            if(GUI.Button(new Vector3(0, 0, 0), "Start Game")){
                GameObject GC = Instantiate(gameControlObj, new Vector3(0, 0, 0), Quaternion.identity) as GameObject;
                GC.getComponent<gameControlScriptName>().functionyouwanttocall();
            }
        }
}