I've been trying to find a way to have 2 objects appear as one. For reasons this has to be the case for the game I'm working on. My question is, is there a way to hide the line that appears when you seperate faces into a different object. I've tried fixing normals but that hasn't appeared to have done anything. Any suggestions, is this even possible? Please see examples for reference. Much appreciated for any responses.
The reason for the visible line is that the normals are discontinuous. Once you cut faces off from each other, those separated faces are no longer affecting the normals of the vertices at the cut. So there is a sharp difference between the normals on one side of the cut and the normals on the other side of the cut.
You can use custom normals to restore the normals to what they were before the cut, by using a data transfer modifier:
Before cutting the object, duplicate it. Don't move the duplicate, just leave it right on top of the original (but you can hide the duplicate, or move it to another collection, if you need to see what you're doing.) Then go ahead and cut the original.
Give the original(s) a data transfer modifier targeting the duplicate. Set it to copy face corner data, custom normals. Set the mapping to "nearest corner of nearest face." You may see a warning to enable autosmooth on the modified mesh-- go ahead and do that if it's not already set to autosmooth (in properties/object data/normals.) If your original is two or more objects, each object will need the modifier, and each object will need to be set to autosmooth.
The correct normals should be apparent now. To make them permanent, apply the data transfer modifier(s). After that, it's safe to delete the duplicate.