I am trying to make a 2D runner game where there are four “lanes” that have obstacles, and the character switches lanes to avoid them. If i use transform.Translate the character can move onto the wall, but then gets stuck in the box collider that is supposed to stop it from running into the wall. I tried using Rigidbody2D.Moveposition to calculate the motion because that works great in 3D. However, the character does not move when I push the buttons. I can’t find the error in my code, and am hoping one of you can help
Thank You in advance
private Vector2 move = new Vector2(0.5f,1);
private Rigidbody2D player;
void Start()
{
player = gameObject.GetComponent<Rigidbody2D>();
}
void Update()
{
if(Input.GetKey(KeyCode.UpArrow))
{
player.MovePosition(player.position + move);
}
if(Input.GetKey(KeyCode.DownArrow))
{
player.MovePosition(player.position - move);
}