I found a game that has collision detection in only one direction. It’s a voxel game that seems to only render the surface of the blocks.
In the video, you can see that when I move the camera around, it detects collisions when camera touching the block. However, when I look at the block surface from the opposite side, the camera doesn’t detect any collision. The same thing happens with my character when I noclip inside the block—it doesn’t get stuck.
I’m not sure what you mean by “the camera doesn’t detect any collision”, but you’ll notice that you can’t see “behind” the faces of blocks. This is because the faces of blocks have a direction. To save performance, faces that are pointed away from the camera aren’t rendered.
In the second image, the bit of the sphere pointed away from you isn’t drawn.
See back-face culling if you’re interested. Roblox actually explains how they do this in the EditableMesh docs (though, as previously mentioned, they’re using terrain).