Optimized Unity3D Games

Hi Developers,
I am an Indie Game Developer from Pakistan. I develop small 2D and 3D games. 3D games are usually First Person Shooter.
I have an Android phone called “Motorola Droid XT-975” which is quite old. When I used to play my own games on this phone it used to hang and get stuck.
One day I tried and played Madfinger Games’s Dead Trigger and Dead Trigger 2 on the same phone and it runs like a charm which was quite alarming for me because my games never did run properly on that phone specially in the beginning.

Now, is the only reason behind this is the fact that we are using trial version of Unity which does not allow static batching etc? or there are some more optimization techniques in code like if the API Version is smaller than 5 then load these resources otherwise load these etc.

You can use static batching (and, in fact, all engine features) in all versions of Unity. There are no “trial” limitations. The only difference between your game’s performance and that of Madfinger games is how efficiently they’re programmed.
Take a look here at some of the optimisations they’ve made: ShadowGun: Optimizing for Mobile Sample Level | Unity Blog