Home Unity Shooter Engine List of Features
List of features PDF Print E-mail
Written by Admin   
Saturday, 10 July 2010 17:28

Easy adding new characters to the game - as a minimum requirement, your character must have four animations: run, idle, aim and shoot. But for Player it will look best if your character has all animations needed - a set of animations for every player weapon - run, walk, idle, aim, shoot, reload, change weapon, and also additional ones for some actions.

You can import your characters, which already have the weapons attached, or the weapons can be imported into Unity separately.

You can simply add or remove any weapon for your character prefabs.

You can only have one prefab for the identical enemies that have a difference only in the weapons (and only have one ragdoll prefab of course). On level start or enemy or ragdoll instanciating, required weapon will be selected automatically.

First Person Player Prefab

FPS prefab can use animated hands model(s), has configurable headbobbing, footstep, run sounds and footprints, all sinhronized with hands animations and headbobbing, camera zoom vew, camera aim down sight view (can be configured for every weapon), death replacement, fall damage and death, droppable weapons, ladder climbing and JumpPads - all functions as third person player prefab has (except third person view of course).

You can use or First Person or Third Person prefab in your levels - they are fully compatible.

Third Person Player Prefab

TPS prefab requires full character model. It uses locomotion system for player movement.

TPS prefab has first person/third person view camera with additional views - zoom, view through iron sight or (if weapon has it) view through optical scope. You can offset the player from center of the screen. In the game settings, you can set on or off an ability to change distance of the camera with mouse scroll.

Also, in the game settings you can choose a type of controls. You can use Platform controller for third person view and FPS controller for other views or use only FPS controller.

TPS Player can look along his camera direction when he is in not aimed state, and also can look at nearest enemy (if any in his seek range). All AIs can look at his enemies too.

Weapons prefabs

In shooter engine, you can use two universal weapon scripts - first script uses rigidbody bullets with gravity set on. You can use it for weapons with ballistic trajectory (and I think, for all player weapons). Second script does not use rigidbody bullets. It is more suitable for enemy weapons.

All weapons can use light sourse and particle effect for muzzle flash. Also weapons have near and far shoot sounds, empty and reload sounds, empty hulls, adjustable inaccuracy (inaccuracy will grow with every shot in the burst), and can have optical scope. Every weapon can have its own crosshair.

Bullets. Player and his enemies can shoot through objects (a glass and water for example). Bullets can have ricochets. For objects with different tags, for every tag bullet has its own particle impact set, bullet hole set, and set of impact sounds (they will play randomly). You can select an explosion to the bullet, or set an impact force and damage of a bullet. Also, every bullet can have set of whizby sounds, played randomly.

Explosions check objects for visibility, so for visible or invisible objects damage and force applied differently.

The package has sample weapons prefabs - for first or third person player, enemies or ragdolls.


You can use AI system - Enemy AI, Friendly AI (can be used also for unarmed characters, e.g. hostages), Animal AI (depends on tag, animal can be or enemy or friendly). All AIs can use unity's built-in pathfinding. All AI scripts optional can use Locomotion System - http://unity3d.com/support/resources/unity-extensions/locomotion-ik and A* Pathfinding Project by Aron Grandberg - http://arongranberg.com/unity/a-pathfinding/.

Also, I included in the package modified Orb AI script from official 3d person shooter demo project. Now it is compatible with other AI scripts, and has three states - idle, fight, search and finds path between the three, not two points. Now it is well oriented even inside buildings. I think, it can be used for a variety of enemies - ghosts, flying monsters and so on.

Player, all enemies or friends comment on everything that happens. Player and friendly AI can talk when they're away from their enemies.

Two different enemies respawn scripts - EnemyRespawn and EnemyMassRespawn. You can set many AI parameters at respawn time.
If more then one waypont group name is set in Enemy respawn scripts - on instanciating, enemies will use one of these group names in random order. It will add more unpredictability to the game.


Player can exit level in case: player has opened all doors, or (in case - need to kill all enemies) all enemies killed, or (in case - you have some items on the level) all items found, or (in case - need to destroy objects) all required objects destroyed. You can use one or combination of those cases on your level. Also, player can use trigger object to end level, otherwise level will end at once if one of the cases completed.

Before loading of next level, score level will loaded to show number of enemies killed, level and total score and so on.

You can load any previous level from menu. Any level item in the "Load game" menu can have a thumbnail and a description. All game progress will be saved - Player health, lives, all weapons, bullets, clips, enemies killed, score and so on.

You can add Intros in LevelStatus script. Movies or cameras (animated or not) can be used for it. You can make intro levels. Intros can be started on level start, or at any time using Trigger script. You can add any number of cameras in the level now and turn them on using Trigger script for example. (Or use function ChangeCamera(gameObject) in LevelStatus script for your own scripts).

Radar.  It shows friends and enemies and can have map texture. For buildings, you can use different map textures for different floors of the building.

Underwater system. Underwater damage for Players and all AIs. "Oxigen" bar for both Players. If "Max Underwater Time" param is exceeded for AI - it will stop hunting and will try to get off the water. Movement speed decreased in water. No footprints and footstep sounds in water. No falling damage if water level more then character height. "WaterInteractions" script can be added to Players/AIs and used for water particle effects and to check "inWater"/"underWater" states, but in advanced mode can be used for ragdolls/rigidbodies effects. It is simple and it is not real buoyancy script, so you can use another buoyancy script for ragdolls/rigidbodies instead. "UnderwaterEffects" script, if placed in the scene, switches underwater effects for any active camera.

Other Features

All movable objects sound. Blood or water footprints for all characters. Blood pools. Blood sprays and stains on the walls and the floor.

Fall damage or death for all characters - player or AI. Both Players and all AIs can have regenerating health. You can set speed of the regenerating.

Ingame menu for mobiles.

A little modified standard Joystick script for mobile platforms. Now it has three modes: Joystick, Touch Pad and Button.
In Touch Pad mode, it can use entire screen. Joysticks and Buttons can have different textures when pressed.
All touches tracked, so no conflicts between different joysticks - any touch belongs only to a specific joystick.

Slow motion script.


Last Updated on Tuesday, 06 August 2013 07:31