c# – Como crear un layer que puedas cambiarle de color usando codigo de colores en tiempo un juego compilado

Osea ingresas un el código del color en una barra(el input) y se cambia el color de un plane

Estuve pensando en usar una shader y hacer bind entre el color y el código

https://docs.unity3d.com/ScriptReference/Material.SetColor.html

   void Start()
   {
       //Create a new cube primitive to set the color on
       GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);

       //Get the Renderer component from the new cube
       var cubeRenderer = cube.GetComponent<Renderer>();

       //Call SetColor using the shader property name "_Color" and setting the color to red
       cubeRenderer.material.SetColor("_Color", Color.red);
   }

Ese script se lo pensaba aplicar al label o al plane que quiero que cambie de color

Pero no se como hacer un input para que el usuario ingrese el codigo del color y tampoco como pasarle esa data al script este dentro del plane o label

para el input del código de color, me serviría algo similar a los chats no? Y de ser así como lo hago?