Making AI stop walking through walls but still allow them to enter windows.

Okay so I am building a zombies clone type game. I recently added a rigid body to my zombie or AI so that it would stop walking through walls. This seems to work but now instead of going to the window where they can get in, they just keep walking into the wall. How do I get them to walk to the windows instead?
Before I added the rigid body zombies would jump through windows after tearing the boards down. It seems they can no longer do this with the rigid body on the zombie. Anyone know why this happens?


//Zombie, go to windows
//Zombie, Destroy Windows
//Zombie, Enter in windows
//Zombie, Go to player

I guess that is a better thing ?

int step = 1;
void Update() {
     if (step == 1) {
           //Move to window's transform
           //if distance < X -> step = 2;
     else if (step == 2) {
          //Destroy window if distance between zombie & windows < X
           //if window destroyed -> step = 3;
     else if (step == 3) {
          //Enter in windows(animation??)
           //if zombie is behind window -> step = 4;
     else if (step == 4) {
          //Move to the player position
          //Attack player if distance between player & zombie < X