I want to change texture of other gameobjects,I want change texture other gameobject.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class StartButton : MonoBehaviour
{
    AudioSource audioSource;
    private Ray ray;
    private RaycastHit hit;
    Renderer m_renderer;
    Renderer m_renderer1;
    Renderer m_renderer2;
    Renderer m_renderer3;
    public Texture Tile, TileC;
    public Texture TileQ;
    public GameObject gameObject1;
    public GameObject gameObject2;
    public GameObject gameObject3;
    void Start()
    {
        m_renderer = GetComponent<Renderer>();
        audioSource = GetComponent<AudioSource>();
    }

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            var ray = (Camera.main.ScreenPointToRay(Input.mousePosition));
            RaycastHit hit;
            if (Physics.Raycast(transform.position, transform.forward, out hit, 3))
            {
                m_renderer.material.SetTexture("_MainTex", TileC);
                audioSource.Play();
            }
        }
    }
}

I want script if player click(raycast) Cube1 then Cube1 change texture to green(TileC) and Cube2, Cube3, Cube4 change texture to question mark(TileQ). How can I do this?

,I want script if player click(Raycast) Cube1 then Cube1 change texture to green(TileC) and Cube2, Cube3, Cube4 change texture to question mark(TileQ).
I can change Cube1 by {m_renderer.material.SetTexture(“_MainTex”, TileC);} but i don’t know how to change other gameobjects.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class StartButton : MonoBehaviour
{
    AudioSource audioSource;
    private Ray ray;
    private RaycastHit hit;
    Renderer m_renderer;
    Renderer m_renderer1;
    Renderer m_renderer2;
    Renderer m_renderer3;
    public Texture Tile, TileC;
    public Texture TileQ;
    public GameObject gameObject1;
    public GameObject gameObject2;
    public GameObject gameObject3;
    void Start()
    {
        m_renderer = GetComponent<Renderer>();
        audioSource = GetComponent<AudioSource>();
    }

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            var ray = (Camera.main.ScreenPointToRay(Input.mousePosition));
            RaycastHit hit;
            if (Physics.Raycast(transform.position, transform.forward, out hit, 3))
            {
                m_renderer.material.SetTexture("_MainTex", TileC);
                audioSource.Play();
            }
        }
    }
}

This is my code.

The simple way is to add an else statement to your if. When the player clicks mouse(0), if it clicked on this cube, turn this cube green, else turn this cube into question mark

             if (Physics.Raycast(transform.position, transform.forward, out hit, 3))
             {
                 m_renderer.material.SetTexture("_MainTex", TileC);
                 audioSource.Play();
             } else {
                 m_renderer.material.SetTexture("_MainTex", TileQ);
             }

But the good solution I would say is to have a script with a reference to all cubes, and in that script check which cube was clicked, change that one to green and the rest to question marks.