touch.phase == TouchPhase.Canceled not worked

i m tired to handle and solve issues related to multitouch. i m use maximume 5 touch simultaneously but when two touches are down on two object and i moved my fingures then that both touches fired TouchPhase.Ended event but not fired TouchedPhase.Canceled.

I want to fired TouchPhase.Canceled when i my fingures out of those objects.

if (touch.phase == TouchPhase.Began)
{
hitObject.GetComponent ().TouchDown (hitObject);
}

if (touch.phase == TouchPhase.Ended)
{
hitObject.GetComponent ().TouchExit (hitObject);
}

if (touch.phase == TouchPhase.Moved || touch.phase == TouchPhase.Stationary)
{
hitObject.GetComponent ().TouchStay (hitObject);
}

if (touch.phase == TouchPhase.Canceled)
{
print (“Touched canceled…”);
hitObject.GetComponent ().TouchExit (hitObject);
}

The touch example in unity’s manual show a for loop checking for each touch. Try to change your code into that type perhaps as it’ll get around issues with multiple touches.