I can not think of a worse scenario, of a situation more miserable, of any scenario worse in warfare than urban fighting. In the same way that a man can only say he knows how to swim after being thrown into waters in which he can drown, a general can only say he knows how to lead after being tasked with sieging a city. War is sometimes called a crucible for men, then urban fighting is the hottest point of that crucible.
To defend a city is noticeably easier. The two biggest mistakes novices in this art make are the following: One, plans are made to be too complicated, with dozens of fallback lines and locations in the city to hold. A strategy followed is always better than a strategy forgotten or, worse yet, misremembered and confused. Your soldiers are men, they are not automatons to be programmed.