Easily the most critical sensors an ECU relies on are those responsible for providing engine speed and engine position (which cylinder is firing at any time).
All of the ECUs calculations for fuel and timing are based on these inputs so they are essential for the ECU to be able to do its job. There are almost as many trigger systems available as there are engines, and every manufacturer has their own ideas on what works best. In the aftermarket our options are a little more varied though.
In the perfect world we want to take an engine speed input directly from the crankshaft as pictured here. In this case a 24 tooth trigger disc is mounted to the back of the crankshaft and monitored by a Hall effect sensor. There is no magic number for the correct number of teeth on these trigger wheels, and the correct choice will depend on your particular ECU and application - A higher tooth count gives more information to the ECU and this can improve resolution and timing accuracy (this is particularly noticeable at idle or low rpm). The trade off though is that at very high rpm the high tooth count can become a problem for some ECUs, resulting in the ECU getting confused about engine speed and this can cause ignition timing inaccuracies or misfires.
The engine speed input is only part of the puzzle though. For the ECU to be able to decide which cylinder is firing at any time, it also needs an engine position or synchronisation input. Since the crankshaft makes two full revolutions (720 degrees) for a single engine cycle, the synchronisation input needs to occur once every two crankshaft revolutions. That sounds complicated but since the camshafts turn at half engine speed, this is the perfect place to take the synchronisation input from. A engine position input is essential for true sequential injection and direct spark control so should be high on your priority list if you want the most out of a modern ECU.