- POOL YOUR OBJECTS. There are plenty of YouTube tutorials around. You're not going to get above 50 bullets at 60fps if you're Instantiating and Destroying constantly. Those are expensive functions, it takes a lot of time to run them, so create a "pool" of bullets when the game loads and activate/deactivate them when needed.
- Rigidbodies are sloooooowwwww. You don't need them. They do a lot of cool stuff, but 95% of it is not necessary for bullets. All you need to do is move the bullet and check a radius around it. You don't need collisions to be pixel perfect.
- Make your bullets bigger! Increase your fire rate! Reduce your accuracy! If I'm shooting bullets, let me shoot bullets damn it. While you're there, probably double or even triple your movement speed and enemy movement speed.
- If your game is lagging, open up the profiler. It gives you the knowledge you need to fix things! If you see a lot of calls to GC.Alloc (in Unity), that's a problem and you should try fix it.
- Make your player's hitbox smaller than it looks like it should be, and make the enemy hitboxes bigger than it looks like it should be! This will stop players from complaining when it looks like something didn't hit and it should've, or vice versa.
- A global leaderboard can go a long way toward increasing your game's popularity, e.g. http://dreamlo.com