UI does not have motion vectors for TAA
Hi, sorry but it lack a bit of detail :), you should be more explicit about what you are trying to achieve.
Given the few information I expect you have a moving / dynamic UI and you expect it to be antialiasing. As you expect it is before TAA, it mean it is a world UI? Hard to provide more help.
Sorry for so little details. Yes, we have UI in moving vehicles, and we are using TAA.
Any input on this issue is appreciated.
Hi, just encountered this in the new cinematic template for HDRP in unity hub 3.0 for 2021.2.2.
In the end of the animation, there’s an animated credit UI/UGUI. It’s quite hard to read with TAA as it doesn’t seem to provide motion vectors based on motion vector debugger.
With TAA:

Without TAA (using FXAA):

UI:
oh, nice to see the Mich-L demo getting some TLC and a default template.
if I recall Screen spaced render targets for UI works with TAA, but world Space UI has the same motion issues mentioned above.
Really interested about this one as well
force _stencilref to 0 is my current solution
Hello. I currently have a world space UI in VR, and the UI is very blurry in HDRP with DLSS (which I rely on) or TAA (for older GPUs). Also when I put my fingers through the buttons it distorts the ui with the motion vectors from the fingers making it appear a bit like warping water surface. I can imagine some worse artifacts when there are fast moving objects behind the UI.
In VR UI every pixel counts, so not having those artifacts and improving clarity would mean a lot.
So just want to give my feedback and let you know that at least for people with similar projects it is a needed feature.
I think you should use msaa for VR always… and increase resolution
if you have to stick to taa (really bad for vr in my opinion)
you may try:
after posteffect or customPass + override depth with after posteffect
and
Ask your programmer to :
change stencilRef to notaa
and fix the HDRP jitter bug according to :https://github.com/Unity-Technologies/Graphics/commit/0d9cb812c9dc8f13d13e117217eb37d55bc2759f
This was exactly the behavior I was getting on screen space camera UI. I’ll try this suggestion as well.
I have to use HDRP, I’ll take blur over flicker and aliasing. So there is no MSAA in defered. And SMAA has too many artifacts and I might need DLSS anyway for performance.
This won’t help. There is no artificial jitter on the VR camera, it’s natural tracking jitter.
I have NGUI, I might give that a go. It supports normal PBR materials and will behave like other materials in the scene. The link you gave me made me think about the fact that UI is not getting the post processing and that is not the behaviour I want. I’d want it to be more grounded in the world and maybe even getting some lighting anyway.
Oh god this is still a thing ![]()
Canvas renderer just doesn’t output motion vectors when used on world space uGUI objects no matter what shader I use (“HDRP/Unlit” for example).
This is not a problem if your UI elements are static. But as soon as any of them move… oh boy.
Same problem with TextMeshPro UGUI component.
Hello,
FYI, we’ll add an option in Unity 6 to output motion vectors from the UI, it’s only available for UI created through the canvas ShaderGraph though but it should solve the ghosting issues you’re experiencing with UI
Nice! Thanks for intel.
This will possibly be useful for our next project then, since the current project is way too big to migrate from Unity 2021 to 6.
No chance of backporting this to 2022?
We did a temp fix which works really well, use a unlit transparent shadergraph and plug in the font atlas in alpha (see ref. image). Then enable transparent write motions vectors on corresponding materla. Use this material in your text mesh pro component. Don’t know if this suit your case, but if so - fantastic!

ShaderGraph for Canvas doesn’t exist in Unity 2022 so we’ll not backport this fix
@ antoinel_unity Is this now supported in Unity 6?
I have tried the preview and can add a motion vector node to the vertex but it is greyed out and doesn’t seem to do anything.
Hey, yes it’s supported in Unity 6. You should have a checkbox in the Canvas UI Target that forces the motion vectors to be computed for UI. Because they are computed automatically from the vertex position of the UI it doesn’t add any new block input for the ShaderGraph.

It should solve cases like this:
Before:

After:

That being said we don’t support custom motion vectors for UI, so it’s not suitable for animation inside the UI shader / texture, in such cases it’s best to exclude the UI from temporal effects using the stencil bit.
Oh I see, this project uses URP unfortunately. Found this topic through a google search and didn’t realize this was HDRP specific. Any plans to bring this feature to URP?
Same this would be really helpful in URP

