I can't get my 3D empty game object to move

basically Ive attached the following scripts to an empty 3d game object :

public class gameController : MonoBehaviour

{
public GameObject hazard;
public Vector3 spawnValues;

void Start()
{
	SpawnWaves ();
}
	

void SpawnWaves ()
{
	 
	Vector3 spawnPosition = new Vector3 (spawnValues.x, Random.Range (0, spawnValues.y), Random.Range (-spawnValues.z, spawnValues.z));
	Quaternion spawnRotation = Quaternion.identity;
	Instantiate (hazard, spawnPosition, spawnRotation);

}

}

and

{
public float tumble;
void Start () {

 GetComponent<Rigidbody>().angularVelocity = Random.insideUnitSphere * tumble;
 }

}
so that a cube is generated in a random position within the boundaries with a random rotation. Ive been trying to get it to move forward as well but every time I add a script like this nothing happens:

void update () {
	transform.Translate (transform.right * 2 * Time.deltaTime);
}

}

Thanks in advance

Start clean. Create a spawner (empty game object) and a cube (add rigidbody, leave setting as default, just turn off gravity)

For your spawner (empy game object) add the following script

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

public class Spawner : MonoBehaviour
{
	public GameObject hazardPrefab;

	public float speed;

	private void Update()
	{
		if(Input.GetMouseButtonUp(0))
		{
			Rigidbody _rb = Instantiate(hazardPrefab, transform.position, Quaternion.identity).GetComponent<Rigidbody>();
			_rb.velocity = Vector3.right * speed;
		}
	}
}

For your hazard prefab (cube), add the following script

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

public class AutoTumble : MonoBehaviour
{

	public float speed;

	void Start()
	{
		Vector3 _randomAngularVelocity = Random.insideUnitSphere * speed;

		GetComponent<Rigidbody>().angularVelocity = _randomAngularVelocity;
	}
}

Make the cube into a prefab. Add that prefab to the spawner. Set both speed to 5 for start and test.