How to snap objects together like a puzzle in 3D space?

Hi all,

I have some OBJ files in my world. Obeying the physics law and movable without any issues.
I am trying to make/create logical puzzle game with them so that they can snap together. Any ideas/hints about that please?

Thanks