2DCollider Issues

I am having an issue with collisions in my top-down game. Currently when my player collides with most of the environment they will stop or slow down, but if I continue to move in the objects direction the player will still pass through it.

The environment all have a rigidbody attached to their tileset and have been set to static. They use a composite collider and a tilemap collider. The player has a dynamic rigidbody and a capsule collider.

My players movement code (speed is 200):

        //Get player input
        float moveHorizontal = Input.GetAxis("Joy1 LeftStickHorizontal");
        float  moveVertical = Input.GetAxis("Joy1 LeftStickVertical");
        //Calculating the new point to move to
        Vector2 movement = new Vector2(moveHorizontal, moveVertical);
        rBody.velocity = movement * speed;

Here are pics of my colliders for the environment. I’ve hidden my ground tiles to make the colliders easier to see. On the left side of this cliff, the collider is working as intended. I’ve increased the edge radius for all my environment colliders in a hope to get them to maybe spread out more and make them thicker. It doesn’t seem to matter though.

This nook in the corner and along the top of the cliffs is not working.

Broken collider 2

Nor is the collider for this rock in the image I linked,

Broken collider 3

Nor is it working for the right side of this cliff. It does work for my lake in the picture.

Is anyone able to help?

I ended up finding this out myself after tinkering around. Turns out it was because I was using velocity, it lead to some weird physics errors with my colliders.

Changing the line

         rBody.velocity = movement * speed;


        rBody.AddForce(movement * speed);

totally fixed everything. Hopefully this helps someone else out!