C# This if statement is driving me INSANE

else if (tmpRemoteObj != null  (hit.collider.gameObject.layer != (int)Indexes.Layers.enemyActor || hit.collider.gameObject.layer != (int)Indexes.Layers.playerActor)) {
	unsetRemoteTarget();
}

All I am trying to do is check to see if a remote object is defined. If the remote object is defined and it’s not on any of my actor layers I want to unset the current target. This appears to be the part causing the issue

(hit.collider.gameObject.layer != (int)Indexes.Layers.enemyActor || hit.collider.gameObject.layer != (int)Indexes.Layers.playerActor)

If I remove the parenthesis and leave only ONE of the evals it works fine for example leaving only (hit.collider.gameObject.layer != (int)Indexes.Layers.enemyActor). Why is that happening? I have used that syntax to before to do things like

if ((A||B||C||D) (E||F||G))

without any issue but here it doesn’t seem to work and I really cannot seem to figure out why. Any help would be most appreciated.

Soooo my logic was kinda junky… That || should have been … I am now not insane!