Search Issue Tracker

Fixed in Unity 2017.2



Found in


Issue ID




Assertion failed: 'IsNormalized(normal)' from the light culling code

Graphics - General



Priority: 3Not yet prioritized for a release


Severity: 2No workaround

To reproduce:

1. Download attached project "" and open in Unity

Expected Result: In Console, no error occurs
Actual Result: In Console, error Assertion failed on expression: 'IsNormalized(normal' starts spamming

Note: Here's the callstack:

It hits the assert here:

inline void Plane::Set3Points(const Vector3f& a, const Vector3f& b, const Vector3f& c)
normal = CalcRawNormalFromTriangle(a, b, c);
normal = ::Normalize(normal);
distance = -Dot(normal, a);

normal = CalcRawNormalFromTriangle(a, b, c);` is returning a degenerate normal (0,0,0) because of two coincident points.
This is coming from the light shadow code.

Note: This issue appears both on Windows and OSX.

Reproduced on Unity 5.5.4p1, 5.6.2p1, 2017.1.0f1 and 2017.2.0b1

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.