How to "build" playable building

Hi. The question is this - how do people make playable buildings, where you can freely move inside, go from 1st floor to 3rd floor by staircase, walk into different rooms etc. Currently I have a single mesh with “use complex collision as simple”, that allows me to enter the building and roam freely inside it. But I have a feeling that this is a bad approach. So how do people usually make such buildings? Should each wall be a separate mesh with it’s own collision? Are there any problems with using complex as simple?