Hi, I wrote the following code: Code (CSharp): using UnityEngine; using System.Collections; public class playerScript : MonoBehaviour { // Declarando as variaveis public float speed; private float _x; private float _y; // Use this for initialization void Start () { } // Update is called once per frame void FixedUpdate () { float h = Input.GetAxis ("Horizontal"); float v = Input.GetAxis ("Vertical"); _y = v * speed; GetComponent<Rigidbody>().velocity = transform.forward * _y; // Girando _x += h * speed; transform.rotation = Quaternion.Euler (new Vector3(0f, _x, 0f)); } } I want to make this character move like in Resident Evil/Silent Hill from PS1. It moves right, until I have to go up a slope. Actually it goes up, but when coming down, the gravity looks like it is on Moon. I did a test and let my player box fall down with another box with no script. The "empty" box falls right, the player "floats" down until hitting the ground. I'm using the rotation constraints in the player. What I'm doing wrong, can someone explain it to me? Thanks in advance.