Leveraging Unity FPS Starter Kit with Unity 2017

Leveraging Unity FPS Starter Kit Pro with Unity 2017

This is the starter kit I am speaking of here:

https://www.assetstore.unity3d.com/en/#!/content/59977

I downloaded the lite version the other day and spent some time tweaking it this morning and decided that it had enough features and quality to go ahead and pull the trigger on the Pro version (its only $10.00!?!)

Importing the assets

 

This video is a virtual unboxing of the FPS Starter Kit Pro.

I import the assets, fire up the demo game, and then modify some parameters to make it more playable so we can see what it has in store for us.

Fun Easter egg: near the end of this video my mouse disappears.  It wasn’t there when I was looking at the screen but the screen recorder superimposed it back in.  I was moving my mouse blindly trying to click on the exit button and without knowing where the mouse was I was able to hit the exit button twice!  #mousingpride

Documentation

Making a Few Improvements

How to exit the game

How to make enemy spawning more consistent

Adjusting Weapons (and other player settings)

Applying the FPS Starter Kit in an Original Scene

Reloading the current scene when you die

Explosions

Waves of Enemies

Finishing a Level and Switching to Level 2

Level Advancement From one level to the next

Get Pause Working

Timeshift (making the game run slower or faster)

Short Pause when Level Complete

Adding a text HUD (and fixing warnings in the bargain)

Fixing GUI to Fix Warnings

Fixing the Pause menu and Locking the Mouse Cursor

Making a Prefab from Player + GUI

Improving the looks of the Floor Texture using Normal Maps

Improving the looks of the Weapon using Normal Maps

Lighting was getting dark upon reload

Found out a Unity5 quirk:  that this darkness (double-baking) is somewhat expected when we auto-bake lighting (which is enabled by default) for every scene we create we need to do one of two things: change the lighting from automatically baked to manually baked and then every time you change the lighting go bake it manually.  Or live with it while we are editing. It apparently never follows a deployed build into the field so it won’t be a problem long term.

Making the Sun Rotate Around the Playfield

Updates:

Well I’ve been using Unity FPS Starter Kit Pro for many weeks now and it has proven to be pretty good.  Still there have been some annoyances and some of them are documented here along with other things I find as I use it.

Problem with Rockets

I have found an intermittent problem with launching rockets at your foes that is making me want to find a totally different solution (perhaps download another FPS kit or build my own rocket and/or AI implementation) since I really wanted to use rockets in my game.

ProblemWithFPSStarterKitPro125spdrockets
ProblemWithFPSStarterKitPro125spdrockets

As you can see in the above gif rockets sometimes just don’t hit the target when they clearly should.

Its not a collision bound problem.  Its worse as the speed of the rocket increases but it is somewhat of a problem at any speed.

Problems with enemy Rockets

  • The Enemy doesn’t aim their rockets.

They are just shot out straight from their launcher (or at the same angle every time) which means if the robot model is bigger than you then it will basically only hit you with good luck.   Sorry I can’t get a video of this problem at this time but just imagine  the gif video with that robot shooting rockets at you and they fly all around you but none of them hit your or explode anywhere near you.

  • The Enemy blows themselves up.

If they are walking towards you launching rockets but there is anything in between you and them they will just keep shooting and hitting the object until as they get close enough that they are inside the explosion radius at which point *boom*.   On a related note if there are two enemies spawning from the same location they will inevitably as they are both proceeding directly towards you, get in the line of fire of each others rockets and shoot each other down. I was actually play testing a level I made and found out that all of my 25 enemies had killed themselves or each other!?!  Solution: I modified the rocket’s ‘physical explosion’ code and made it specific to the robots (previously it was common for the robots and the player) and added a check for whether a robot (tag of “Enemy”) was the collider that was within the explosion sphere when it got called back for the collision.

Documentation

Its large and not that helpful.  My tutorials here are vastly more useful for anyone who wants to start using this asset.

Plus theres the fact that literally half the size of the entire asset pack is what amounts to a 10 page PDF (with about as many words).

 

Some of the things I did to get it working for me

Unity5 Git log of my FPS Starter Kit Pro Project
Unity5 Git log of my FPS Starter Kit Pro Project

Leveraging my BasicGameKitv2