When I assign this code to player ,which is just a 3d box, the player moving slow on y coordinate, why ?

This is pretty basic code, but I am a beginner for unity. when I assign this code to player ,which is just a 3d box, the player moving slow on y coordinate, why . Really appreciate someone’s help. This is my code:

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

public class Player : MonoBehaviour
{

public float spd = 100f;
public Rigidbody rb;

private float horizontal;
private float vertical;

void Start()
{
    rb = GetComponent<Rigidbody>();
}

void Update()
{
    horizontal = Input.GetAxis("Horizontal") * spd;
    vertical = Input.GetAxis("Vertical") * spd;

    rb.velocity = new Vector3(horizontal , 0f, vertical) ;

}

}

@Yrandika I’m a novice at unity and not super good, But I THINK not sure you might have to incorparate time * deltatime. its an important feature, but I AM NOT SURE so don’t take this as an answer just advice.

@Yrandika Well you have applied vertical velocity on the z axis so it won’t move on y axis the syntax for vector is something like:

Vector3(x axis , y axis , z axis);

So basically instead of

rb.velocity = new Vector3(horizontal , 0f, vertical) ;

Try do something like:

rb.velocity = new Vector3(horizontal , vertical , 0f) ;