So I built a quick library to house a few dead npcs, and it has three floors. The bottom floor is now occupied, althought the NPC is still lounging about at spawn. However, the top two floors are "not valid housing". They both use platforms as doors, have lighting, a table and some kind of chair. The background/ walls cover EVERY part of the room, even behind wooden beams, dressers and platforms. I have gone throught these thoroughly, but cannot find any reason why they are not houses! Which is annoying. Heres a screenshot- the second and third floors are not valid. Thanks!
Just to check again, I would press Ctrl and just go through the house seeing if any walls were not placed down. Since you probably already did that, here's some more advice. Replace the benches with chairs (benches can be bugged) on the second floor, and maybe make the top floor slightly taller. I don't know if this will help but it is worth a shot.
Mother of god! I just noticed the flying rabbit at the door. O_o
Anyway, I agree with M3G4 S0LD13R 45. You need solid blocks for a floor, I did a compensate to balance aesthetics with mobility, I made the solid blocks floor able to be turned inactive when I flip a switch while inactive platforms below the solid blocks will turn active. (switch on: active solid floor + inactive platforms below it. Switch off: inactive solid floor + active platforms below it.) Is a bit of work but just sharing what I did, it doesn't have to be the whole floor, by the way.