My goal through this code in C # is that each time the player presses the <kbd>Q</kbd> I create a cube at a fixed position given by another object, then begin translating it in a random direction. ie.

- first press: a cube is created at the spawn point and moves away in direction 1
- second press: a cube is created at the spawn point and moves away in direction 2
- third press: a cube is created at the spawn point and moves away in direction 3

I don't understand why the code below does not work:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    
    public class spawn_random_trajet : MonoBehaviour {
    
    	public GameObject Spawn, Spawn2;
    	public Transform origineSpawn;
    	public float moveSpeed=5f;
    
    	void Update () {    
    		if (Input.GetKeyDown (KeyCode.Q)) {    
    			int random_trajet_x = Random.Range (-10,10);
    			int random_trajet_y = Random.Range (-10,10);
    			int random_trajet_z = Random.Range (-10,10);
        
    			Spawn2 = Instantiate(
                     Spawn, 
                     origineSpawn.position, 
                     origineSpawn.rotation
                ) as GameObject;

    			transform.Translate ( 
                     random_trajet_x*Time.deltaTime*moveSpeed,
                     random_trajet_y*Time.deltaTime*moveSpeed,
                     random_trajet_z*Time.deltaTime*moveSpeed
                );
        	}
        }
    }