4.20 New DOF algorithm stopped working

I’ve been using the new Depth of Field algorithm in 4.20 since it launched, never had any problems, until yesterday I was playing around with some CVars, and it suddenly stopped working. I double checked that r.dof.quality is 3, and showflag.DepthOfField is 1. Those are the only CVars I edited.

If I disable the new algorithm (r.dof.algorithm 0) then the regular Circle DOF kicks in and that works as expected. But as soon as I enable the new algorithm (r.dof.algorithm 1) it breaks completely and I can only get blur if the focal length is super low (less than 50).

I’ve tried deleting my intermediate, saved, and config folders. I’ve also forced a recompile of all shaders (several times). I cleared the DerivedDataCache. Nothing seems to fix it. I failed to backup my project in the last few weeks so restoring an earlier version isn’t an option either I’m afraid. I’m reinstalling the engine now to see if that helps.

I’m really scratching my head here. Any suggestions on how to fix this?

Alright, I fixed it.

So, apparently Cinematic Depth Of Field does not play nice with TemporalAA Upsampling, which I had previously setup to a checkbox in my options menu. When I clicked the box, the TAA Upsampling kicked in and un-blurred the Cinematic DOF.

I’ll submit a bug report on this one, but I would guess that these are just two mutually exclusive features.

I submitted a bug report UE-64980 and provided a project in which they were able to reproduce this. However it is now marked as Non-Issue, so I guess that means it’s working as intended.

So the short story I guess is, if you are using TAAUpsampling, make sure you also set your project to fall back to standard Circle DOF when it is enabled.