TouchPhase.Began not detected.

In my input script I am using touchPhase types to execute specific functions. My only problem is that TouchPhase.Began is not detected at any time both on Unity Remote and when build on android device. Is it possible to detect the TouchPhase.Began at all?

Don’t use FixedUpdate for input. The problem with FixedUpdate is that it may run many times in a frame or not at all and there is no guarantee that events will be prepared properly when running it.

You need to get your input in a normal Update and then apply it to the rigidbody. If you are physically moving the body you want to set flags or some other method in your Update and then apply it on the next FixedUpdate. If you are adding forces you can do that anywhere. If it is kinematic then you can also move it anywhere.

This have worked for me every single time, in C# but JS should be similar.

foreach (Touch evt in Input.touches) 
	{
		if (evt.phase == TouchPhase.Began) 
		{
			//...
		}
	}