Can't move my character

Hello!
After i change my character sprites to new one, my movement script just stopped working. It doesn’t change any values in position of my character. Before i changed my sprites everything was working fine, but now it don’t move my player
Here is code:

using UnityEngine;

public class Movement : MonoBehaviour
{

    public float MovementSpeed = 3;
    private Animator anim;
    private float moveInput;
    private Rigidbody2D rb;
    private bool FacingRight = true;
    public VectorValue startingPosition;

    void Start()
    {

        rb = GetComponent<Rigidbody2D>();
        anim = GetComponent<Animator>();

    }
    void Update()
    {

        moveInput = Input.GetAxis("Horizontal");
        transform.position += new Vector3(moveInput, 0, 0) * Time.deltaTime * MovementSpeed;

        if(moveInput == 0)
        {
            anim.SetBool("isRunning", false);
        } else
        {
            anim.SetBool("isRunning", true);
        }

        if(FacingRight == false && moveInput > 0)
        {
            Flip();
        } else if(FacingRight == true && moveInput < 0)
        {
            Flip();
        }

    }
    void Flip()
    {

        FacingRight = !FacingRight;
        Vector3 Scaler = transform.localScale;
        Scaler.x *= -1;
        transform.localScale = Scaler;

    }

}

Check the console log for errors. Make sure the error button is visible (upper right).

Check also you did not set Time.timeScale to zero in the editor.

Beyond that, to help gain more insight into your problem, I recommend liberally sprinkling Debug.Log() statements through your code to display information in realtime.

Doing this should help you answer these types of questions:

  • is this code even running? which parts are running? how often does it run?
  • what are the values of the variables involved? Are they initialized?

Knowing this information will help you reason about the behavior you are seeing.

Time.timeScale is doesn’t set to 0. And i don’t get any errors in console log.

there is nothing wrong with your movement script, I can tell, cuz I dont see anything to do with changing character sprites.

question is how do you change your character sprites

When Horizontal value is not equal to 0, i change isRunning var to true. And then animator start the walking animation

then the problem can also come from how you setup your animetor


if it on, turn it off and see it make any difference

Oh my dear god, THANK YOU. It was actually turned off, but when i turned on character started to move again.

1 Like

just for the context about Apply Root motion:
Apply Root Motion On,Object Transform will be control by Animation (if Animation move away from the center not stay on the same place)
Apply Root Motion Off, Object Transform will be control by script

1 Like