Hard shadows and AA causing white pixel artifacts on ALL meshes

Hard shadows with AA enabled seem to cause a white pixel border artifact to be rendered around my model. See image for clarification:

you can see the problem clearly, when the model is in the light but rendered over a cast shadow the white border appears, but when it is rendered fully in the light or shadow it is not apparent.

It is not my material settings, as you can see it also happens with this default sphere:


(it isn’t the plane below it causing the problem either, I tried it with a default plane beneath it in an empty scene as well.)

And finally here is a picture with and without AA enabled:

If anybody could shed some light on the issue (hah) it would be much appreciated!

This question is old, I know, but no one has answered it, so I’ll do it.

Shadows are rendered after all the inbuilt antialiasing calculations are finished, which means that when Unity renders a frame, it first renders all objects without shadows or effects. Then it antialiases the result, so the non-shadowed ground is blurred together with the objects. Finally, Unity adds shadows.

Render Objects -> Antialias them with light pixels -> Darken the background with shadows

The problem is, you have some of the non-shadowed light ground pixel on top of the shadowed ones. So basically, the “white pixel” artifacts you are seeing is just your ground peeking through the shadows.

your image


If you’re using Unity Pro, you can use this antialiasing method instead of the default, or you could use the in-built Unity Pro Edge Blur Effect.

If you’re using Free, you could spend a lot of time and game performance doing this: Recreating Unity Pro effects in Unity Free (see the part about RenderTextures) and use FXAA3 antialiasing with that. Other that that you’ll just have to change your quality settings on Unity Free.

Hope it helped!