Player sprinting with left Shift key in Unity
02:01 18 Jan 2021

My project is a first-person jump and run game. I want my player to Sprint by pressing Horizonzal or Vertical combined with Shift.

I already made a new Input, called "Sprint", with negative Button "left shift"

My player does normal move, but he/she doesn't Sprint.

public class PlayerMovement : MonoBehaviour
{

public CharacterController controller;

public float speed = 12f;
public float sprint;

public float gravity = -9.81f;
public float jumpHeight = 3f;

public Transform groundCheck;
public float groundDistance = 0.4f;
public LayerMask groundMask;

Vector3 velocity;
bool isGrounded;

// Update is called once per frame
void Update()
{






    isGrounded = Physics.CheckSphere(groundCheck.position, groundDistance, groundMask);

    if(isGrounded && velocity.y < 0) {

        velocity.y = -2f;

    }

    float x = Input.GetAxis("Horizontal");
    float z = Input.GetAxis("Vertical");

    Vector3 move = transform.right * x + transform.forward * z;

    controller.Move(move * speed * Time.deltaTime);

    if (Input.GetButtonDown("Jump") && isGrounded)
    {

        velocity.y = Mathf.Sqrt(jumpHeight * -2f * gravity);

    }

    velocity.y += gravity * Time.deltaTime;

    controller.Move(velocity * Time.deltaTime);

    // Noch nicht fertig -> Noch ausstehend
    if (Input.GetButtonDown("Horizontal") && Input.GetButtonDown("Sprint") || Input.GetButtonDown("Vertical") && Input.GetButtonDown("Sprint"))
    {
        controller.Move(move * (speed + sprint) * Time.deltaTime);

    }
}
unity-game-engine move shift