Bro I could write a book about all the lessons I learned but here are some pointers will help everyone:
-Get the job done by a mechanic who is trustworthy and capable. Give your own feed back on every step of the way. There is no need going to an over priced 'performance' shop. These shops will rip you off and you won't get the quality of work that you wanted. In any case TRUST NO ONE!
-Fitting a 2zz in a Vitz is not as difficult as one expects. and since parts are so cheap in Pakistan the mechanical aspects of the project arent much of an issue.
-Electronics are a bit of an issue here. All modern cars would have compatibility issues with older generations of engines. The power steering was having issues and the engine temperature lights were going crazy at times. Thats why we had to use two ECU's for the project. One 1NZ-FE ECU for a Vitz and one M/T 2ZZ-GE ECU.
-AC fitting should be considered prior to getting the swap. AC to Host Car to Engine compatibility issues do arise. We couldnt get the ECU to turn off the compressor at higher RPM's. That's why the AC has to stay off while revving the car.
-Get an LSD if available. It is very difficult putting so much power down at once without LSD and that's why 0-100 times suffer. LSD will also help with the inevitable torque steer in FWD cars.
- A much easier swap would be to put a 2ZZ in a 1ZZ Altis. The Altis only needs two extra wires to wire a 2ZZ and as far as i know only one of the engine mounts needs to be modified. So very easy!
-Other good options are 2000 and older Corollas.