velocity not working

This is my code and my cube doesn’t move. What should I do?

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

public class Cube : MonoBehaviour
{
    private float speed = 3f;
    public Rigidbody myRigid;
    void Update() {
        float x = Input.GetAxisRaw("Horizontal");
        float z = Input.GetAxisRaw("Vertical");
        Vector3 movePlace = new Vector3(x, 0, z);
        movePlace = speed * movePlace;
        myRigid.velocity = movePlace * Time.deltaTime;
    }
}

From the looks of it, your cube probably IS moving… just… very, very slowly (ignoring potential friction).

Let’s say you have a framerate of 60. Your cube, then, is moving at a speed of ~3 units every 60 seconds, rather than your (presumably) intended 3 units every 1 second.

To the point, velocity is a time-driven value already. Its value is the distance the Rigidbody moves every second, so you both don’t want to factor time into it again. Multiplying by Time.deltaTime causes it to BECOME framerate-dependent.

Now, if the cube is resting on a surface, then due to the way its contact points work with friction, it potentially is less likely to move even if you apply a bit more generic, unfocused force. You would need to pass some threshold before you would likely see it moving. On that note, if you are expecting the cube to tumble around as a result of its friction with a surface, it might be worth applying force above its center instead.

void FixedUpdate()
{
	myRigid.AddForceAtPosition(movePlace, transform.position + Vector3.up * 0.5f, ForceMode.Acceleration);
}

Increase your speed value considerably if you are using Time.deltaTime. Time.deltaTime is usually a very small value. Also, you could just remove the * Time.deltaTime as setting velocity should be an action that’s not frame dependent.