Question: I'm making a game with target (orbit camera). I want to limit camera movements when in room. So that camera don't go through walls when moving around target and along the ground.
What are common approaches? Any good links with tutorials? I use Unity3D, nevertheless I'm good with a general solution to the problem

Answer: 
This is one of the classic problems of game engine development - your engine most probably is too generic.

Pick your favorite genre, perhaps even your favorite game - and look at how things work there. Try to copy a thing or two. Make something good, make something bad. Create experiments and problems. Experiments are useful for finding a good direction to take, an unexplored path. Problems have a tendency to keep developers interested for a long time. Pick something you've never done before to make space for both.
Proceeding with levels seems like a good next step, it can teach you how to create data structures to fit your game, and file input/output.

Also, I would just have tried to build the engine with a set target game in mind. You don't have to be very specific, but say just make the engine for a specific genre that you like. When you know what to make with your engine, you have a better idea of what actually works in your engine and what doesn't. A good engine would have been "battle-tested" already, and usable in real-world cases. I have been making a game around sample framework code- as I added more features to it that the game would definitely use, it became clearer which parts can be re-used for future games.