How to make Each eye shows different content?

I ended up figuring out how to use a single Material to do what I wanted. This Material adjusts the spacing per eye using the ResolvedView.StereoPassIndex that Rectus mentioned in a Custom node.

The Material settings:
image

The Material Blueprint (Take note that the Texture Sampler is 2D. I try to name it SlateUI usually in case Unreal has that hard coded but you might be able to name it whatever you want) :

The Custom node code:

if (ResolvedView.StereoPassIndex == 0) 
{
return dist;
}
else
{
return dist * -1.0;
}

I just applied that Material to a Widget component and placed it as a child of my Pawn’s camera and put it a distance away so it looked okay. Ended up using that EyeDistance scalar parameter to adjust the focal distance when looking at near or far objects with a bit of tweaking for the value.

If you want to still use 2 separate Widgets then you can just separate the Custom node code out into 2 different Materials with one checking for a StereoPassIndex of 0 and another for 1. For example you could check for 0 and return 0 if true and use that value to control the Opacity to hide the Widget in one eye like Rectus mentioned.