@Wallenstein
I made a prototype, take a look:
It works with component tags, so you can choose which component is snappable and which is not. You can even add/remove those dynamically, like in construction script. What do you think.
I would like also to solve the other problem with collisions in some cool way but I don’t know yet how. If you have some idea let me know.