Creating Custom Border Collision

So I am new to Unity and game developing as a whole. I am trying to create a top down RPG game like pokemon, and one problem I have found is collision boxes. I can’t figure out how to make the collision box line up with the tree but ignore the shadows, but the biggest problem I have been having is creating a border around the water to prevent the player from running on it. Also, I have no idea how to make the bridge walkable over the water once I create a collision box for the water. What I have been doing is just creating loads of box collider 2d’s and scaling them and dragging them around so that I have 100 collision boxes cover the water, but it is taking forever to do this and I know there must be an easier way. Any help would mean a lot. Thanks!

Update: I just discovered if I go into Sprite Editor for my Tilemap, I can add custom phsysics shapes to everthing, which after putting a rigid body and a tilemap collider, It will work. So I think that solves the problem of creating the border for the water and trees, but I still don’t know how to make the bridge walkable over the collider. Any Ideas?

hey ;
u can assing different layers to your objects and then use phyisic 2d collision matrix to remove the relation between some colliders ;

https://docs.unity3d.com/Manual/LayerBasedCollision.html

so life if u remove collision between player layer and water layer but u check collision from player and bridge , player collider can detect bridge collider but not water collider ,