How to do collision in 2d game?

Hello guys. Attached below is a picture of what I want to do.

The question is how do I do this? Because I tried using Collision boxes with IsTrigger enabled:

// when TB starts to touch anything
	void OnTriggerEnter(Collider Other)
	{
		Current_Collider = Other;
		
		if (Other.collider.tag == "EndPoint")
		{
			TB_State = TetrisBabyState.Dead;
			return;
		}
		
		if (Other.collider.tag != "Wall")
		{
			if (TB_State != TetrisBabyState.Walking)
			{
				TB_State = TetrisBabyState.Walking;
			}
		}
	}
	
	// when TB stops touching anything
	void OnTriggerExit(Collider Other)
	{
		if (Other == Current_Collider)
		{
			TB_State = TetrisBabyState.Falling;
		}
	}

I also tried OnCollisionEnter:

void OnCollisionEnter(Collision Other)
	{
		//Debug.Log("( " + Other.contacts[0].point.x + ", " + Other.contacts[0].point.y + " )");
		//Debug.Log("Hit " + Other.collider.name);
		if (Other.collider.gameObject.tag == "Player")
		{
		}
		
		Current_Collider = Other.collider;
		
		if (TB_State != TetrisBabyState.Walking)
		{
			TB_State = TetrisBabyState.Walking;
		}
		
	}
	
	void OnCollisionExit(Collision Other)
	{
		//Debug.Log("Unhit " + Other.collider.name);
		
		// if this is the latest collider
		if (Other.collider == Current_Collider)
		{
			if (TB_State == TetrisBabyState.Walking)
			{
				TB_State = TetrisBabyState.Falling;
			}
		}
	}

and rigidbody.sweeptest too (code too messy not gonna post it here). I plan to redo this collision from the ground up so if anyone can give me a push in the right direction on how to go about doing this would be much appreciated. Thanks in advance.

EDIT: Oh i forgot to mention. If possible i do not want to use too much physics. I am moving the characters by transform. So minimal physics will be nice. Thanks :slight_smile:

You need to use OnTriggerEnter2D() and OnCollisionEnter2D(). the other ones are ment for 3D.