Rendering a fake mirror I am trying to work out how to have a fake mirror in my scene.
Character A walks by a mirror on the wall, which should reflect the room and everything in it, except Character A. Instead of Character A, it reflects Character B.
So, basically, I want a simple reflective surface, but:

Character A should not be visible in what the surface reflects. Reflections should be rendered as if Character A is not in the scene
Character B will be in the scene, but only visible in the reflective surface, not in the world itself.

Here, crude graphic to show what I mean :D

Less crude graphic here:

Is this possible with Blender? I'm familiar with all of the most general functionality, but I can't think of anything that would achieve this. Are there data properties I can tweak? Is there a modifier that'll achieve it? Reflection probe trickery?
I intend to use Eevee for the rendering, but if Cycles achieves this better, I can switch.
EDIT: I can of course elect to not using a reflective but a transmissive surface and just model the contents of the mirror behind the surface. So instead of having any reflection at all, I'll just copy and mirror the geometry and do everything manually, but 1) that's a lot of work, 2) not really an answer to the technical question I'm asking.
You can use &quot;Is reflection ray&quot; output from &quot;Light path&quot; node and plug it into the alpha input of the &quot;Principled shader&quot;.
This will work for both Eevee and Cycles. For Eevee you need to set &quot;Blend mode&quot; to alpha hashed in the material setting.

For the one that reflects in the mirror but is not visible outside of it:

For the one that is visible only outside of the mirror:

For Eevee, set both objects to alpha hashed in the material settings: