Best way to approach multi-camera cinematic dialogues

I’ve set up a “dialogue rig” as a custom Blueprint class that contains the transforms for two people (Player and NPC) as well as five cameras that offer different angles for the conversation. Currently, whenever a Player initiates a conversation, the Dialogue Rig is moved to their current position, sets up both Player and NPC’s transforms such that they are at a fixed distance from each other and facing towards each other.

The challenge I would really appreciate getting some suggestion/advice on is that there are obvious scenarios where this setup doesn’t work that well. In close, indoor spaces, some of the cameras get obfuscated by walls. Or if either Player or NPC is standing on uneven terrain, the characters are out of frame of the camera.

My question is: how do designers of such dialogue-driven games do their camera setup? What would you all suggest I should do in approaching this problem?