,My 16x36 character collision act like 16x16

I’m a beginner in unity, so I’m making a 2d top down rpg game and I’m copyidng the same scripts that the guy in the video wrote. The problem is; he’s character is 16x16 and my character is 16x36. the game is ignores my Box collider 2d size and my character collides with walls he shouldn’t collides and doesn’t collides with walls he should. but if I replace my character with another 16x16 character or move all collider objects up one sprite the game works fine but I don’t want to do that. I will leave the code of my character below

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
    private BoxCollider2D boxCollider;

    private Vector3 moveDelta;

    private RaycastHit2D hit;
    private void Start()
        boxCollider = GetComponent<BoxCollider2D>(); 

    private void FixedUpdate()

        float x = Input.GetAxisRaw("Horizontal");
        float y = Input.GetAxisRaw("Vertical");

        //Reset moveDelta
        moveDelta = new Vector3(x, y, 0);

        // Swap sprite direction, wether you're going right or left
        if (moveDelta.x > 0)
            transform.localScale = Vector3.one;
        else if (moveDelta.x < 0)
            transform.localScale = new Vector3(-1, 1, 1);
        // Make sure we can move in this direction, by casting a box there first, if the box returns null, we're free to move
        hit = Physics2D.BoxCast(transform.position, boxCollider.size, 0, new Vector2(0, moveDelta.y), Mathf.Abs(moveDelta.y * Time.deltaTime), LayerMask.GetMask("Actor", "Blocking"));
        if(hit.collider == null)
            // Make this fox move
            transform.Translate(0, moveDelta.y * Time.deltaTime,0);

        hit = Physics2D.BoxCast(transform.position, boxCollider.size, 0, new Vector2(moveDelta.x,0), Mathf.Abs(moveDelta.x * Time.deltaTime), LayerMask.GetMask("Actor", "Blocking"));
        if (hit.collider == null)
            // Make this fox move
            transform.Translate(moveDelta.x * Time.deltaTime, 0, 0);



I’m a new user unity, because of that I will be very happy if you write the code that I need to write.

I changed my code with Brackey’s code but the problem is still going on. I have no idea what the problem is.