Movement correct to wasd Help


I am a begginer and I downloaded THIS character movement, But I’d like it to move by keys wasd. Please, can you give me an advice? Or screenshot how to change it in script?

Thank you for any help!

@Mimmy21 this works but add this to the character component, and make sure to configure the speed through inspector under the script name. This works for arrow keys though, not sure about WASD.

using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour {

private Rigidbody rb;
public float speed;

void Start () {

	rb = GetComponent<Rigidbody> ();


void FixedUpdate () {

	float moveHorizontal = Input.GetAxis ("Horizontal");
	float moveVertical = Input.GetAxis ("Vertical");

	Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);

	rb.AddForce (movement * speed);



you can use the Input Axis in Unity to control movement on how to play or stop an animation based on the current value of an axis.
You can use the Input manager (Edit > Project Settings > Input) to configure the control keys however you like. You can set the W key to be a button for the positive direction of the axis called Vertical. It is already configured that way by default.

Now, in scripting, you can read the value of the Vertical axis using the Input.GetAxis Method to get the walk speed

public class Movement:MonoBehaviour
    [SerializeField] private float _maxwalkSpeed = 5.0f;
    [SerializeField]private float _maxTurnSpeed = 10.0f;
    [SerializeField] private Animation animation;
    private void Update()
        var walkSpeed = Input.GetAxis("Vertical")*_maxwalkSpeed;
        var turnSpeed = Input.GetAxis("Horizontal")*_maxTurnSpeed;
        this.transform.Rotate(0, turnSpeed * Time.deltaTime,0);
        if (walkSpeed > 3)
            if (animation == null) return;
            if (animation == null) return;