As an Associate of Unity Asset Store, this website earns from qualifying purchases & contains affiliate links: check the footer for more info.

FPS Shooter (AR and Non-AR) — Unity Asset

FPS Shooter (AR & Non-AR) — cross-platform Unity Asset that implements first-person Survival Shooter: kill the zombies and save your life with full immersion in the game! Feel the power of Unity FPS Shooter.

Unity Asset Store — Download Button

Game Modes: AR and Non-AR

You can choose Game Mode on the Demo Scene before the start:

  1. Non-AR Mode (for all tested platforms) with the next Camera Control Modes:
  2. AR Mode (if it’s available, user can see a button to activate it) with the next features using the AR Foundation (ARCore, ARKit) — Augmented Reality engine:
    • Real Plane Detection (includes tutorial, visual plane confirmation/resetting, placing the game around the player).
    • AR Safe Zone. The player needs to stay in the Safe Zone to avoid accidents during the game, meet enemies with honor and continue the game itself! The game will be paused when leaving the Safe Zone.
    • AR Onboarding UX with Transparent Video Manuals & AR States.
    • AR Shadows & Light Estimation: estimates light data in the real world and applies it to game space.

Features of FPS Shooter

Shoot like a Pro with your amazing Game:

  • Play an Endless Shooter with only one goal: Get the Best Score!
  • Kill 3 Types of Zombies: Bunnies, Bears & Elephants.
  • Defend “Iron Throne” (Safe Zone) from Enemy Damage.
  • Be Warned about Enemy Attacks via Red Fullscreen Flashes & Health Bar.
  • Restart the Game without Scene Reloading.
  • Feel the Effect of Presence with AR.
  • Simulate the Player’s Breathing (Desktop).
  • Optimize on Mobile Devices:
    • Object Pool with separate Enemy Manager for each Zombie prefab to manage the memory,
    • TextMesh PRO for Texts to update them when really needed.

Package Contains

Check the Map of Unity Assets to choose the product that best suits your needs.

User Input

Menu Scene

PlayLMB / SpaceTap
Reset DataLMB / RTap
QuitLMB / EscapeTap

Demo Scene

Rotate CameraRMB / WASD / Arrow KeysNon-AR: Motion Sensor
(Gyroscope or Accelerometer) via Sensor Camera

AR: AR Foundation scripts
(provide the same experience as in Non-AR)
PauseLMB / EscapeAR & Non-AR: Tap
AR: Leaving the Safe Zone


Learn Limitations separately for Each Asset included in the package.


This tutorial is relevant for FPS Shooter 4.1+.
Tutorial for the previous version can be found only in the asset folder.

Getting Started with FPS Shooter

Folders & Files in the package by default:

  • Makaka Games;
  • XR.


If you have any issues with the first launch then just Reach Support with Invoice Number and Get Help.

If you read this tutorial from PDF, first check the latest docs online to get actual information.

  1. Create a New Unity Project with Unity 2022.3.20 & “3D (Built-In Render Pipeline)” Template:
  2. File > Build Settings > Windows, Mac, Android, iOS, WebGL > Switch Platform.
  3. Next Packages must be manually installed with Git & Unity Package Manager:
  4. Download and import FPS Shooter into Unity.
    1. Warning Windows:
      1. Click “Import” to overwrite the Project Settings with predefined ones.
      2. Click “Install/Upgrade” for Package Manager Dependencies.
      3. Click “No” when enabling the backends for the new input system.
  5. Next Packages are provided with Unity Package Manager, and they are already installed for this Asset by default. If packages are missing (Warning Window did not appear) then install them again with Package Manager (advanced settings enabled: “Pre-release Packages”):
    1. TextMesh Pro 3.0.8:
      1. Always Required: Window > TextMeshPro > Import TMP Essential Resources.
    2. AI Navigation 1.1.5;
    3. AR Foundation 5.1.3;
    4. Apple ARKit XR Plugin 5.1.3;
    5. Google ARCore XR Plugin 5.1.3;
    6. Input System 1.7.0.
  6. Reopen Unity Project.
  7. Open Scene: Makaka Games > FPS Shooter > Scenes > Demo.
  8. Test in the Unity Editor or Build.

Each Unity Asset included in FPS Shooter has its own documentation in the target folder or on the website (the latest docs).

“$” GameObject

Some Scenes have “$” GameObject, which has the main control script for the scene.
Various modules interact with each other with the “$”.

How to set up your own Enemy prefab and Enemy Amount

  1. Duplicate one of the customized prefabs: ZomBunnyAR.
    1. Indicate your 3D-model, audio, etc. inside the new prefab.
  2. In “$” Game Object, select the appropriate Enemy Manager: EnemyManagerZomBunny.
    1. In the Random Object Pooler component, indicate your own (duplicated & customized) prefab & Maximum Enemy Amount (Init Pooled Amount).
    2. In the Enemy Manager XR component, set up Spawn Points & Timing as you need.
AR Shooter — Unity Asset — AR Survival Shooter — AR Foundation (ARCore, ARKit) — Enemy Manager

Testing and Building

All tested platforms support Non-AR Mode.
If AR Mode is available, user can see a button to activate AR Mode on the Demo Scene before the start.

iOS, Android: AR & Non-AR

AR Mode can be tested in the Unity Editor with AR Foundation > XR Simulation.

macOS, Windows: Non-AR

You can test immediately in the Unity Editor from the box, but to Make a Build, you need to Uncheck the Next Flags in the Edit > Project Settings > XR Plug-in Management > Windows/Mac settings:

  • Initialize XR on Startup.

WebGL: Non-AR

Learn the Article called WebGL and Unity about Building and Testing Unity games and apps for WebGL.

Tested with Platforms

  1. Mobile Platforms:
    • AR & Non-AR: iOS on iPhone XS Max;
    • AR & Non-AR: Android on Samsung Galaxy A71;
    • Non-AR: WebGL in Google Chrome.
  2. Desktop Platforms (Non-AR):
    • Windows;
    • macOS;
    • WebGL in Google Chrome.


First, read the latest docs online.
If it didn’t help, get the support.


Check the current version of FPS Shooter on Asset Store.
The latest versions will be added as soon as possible.



  • Manual Game Pause using the Escape Key (in addition to UI Button and Automatic Game Pause related to the Safe Zone in AR).


  • URP (Universal Render Pipeline) is used for the Project (instead of the Built-in Render Pipeline) to improve performance.
  • Caching for Visible Game Objects before Game Start to avoid freezes at the very 1st start of the game.
  • Changing the Names of Scenes to conform to the Asset Name.



  • Non-AR Desktop Support:
    • Windows,
    • macOS.
  • Non-AR WebGL Support:
  • “Select Mode” Panel (on the Demo Scene before the start, you can choose Game Mode):
    • AR Mode (if it’s available, user can see a button to activate it),
    • Non-AR Mode (all tested platforms support it).
  • Best Score (in addition to Current Score) with Animation and Sound FX can be seen on:
    • HUD,
    • Game Over screen.
  • New Menu Scene with the Next Buttons (Keyboard can be used in addition to the Mouse):
    • Play (Space key),
    • Reset Data (R key),
    • Quit (Escape key).
  • Desktop Stuff:
    • Simulation of Player Breathing.
    • New Camera Control Mode: WASD or Arrow Keys (in addition to Right Mouse Button).
  • Manual Game Pause — Button (in addition to Automatic Game Pause related to Safe Zone in AR: both pauses are synchronized) opens its own screen that provides the next buttons:
    • Resume,
    • Exit.








  • AR Onboarding UX with Transparent Video Manuals & AR States;
  • AR Light Estimation: estimates light data in physical space and applies it to game space.



  • iOS: “Error Code=102 “Required sensor failed.”




  • Unity 2021.1.5;
  • Game Version with AR Foundation (ARCore, ARKit) & Plane Detection. It will run by default if the device supports it, otherwise, Game Version with AR Camera Lite will be run.
  • AR Safe Zone for Game Version with AR Foundation. The player needed to stay in the Safe Zone to avoid accidents during the game and meet enemies with honor! The game will be paused when leaving the Safe Zone.
  • Using of Native Camera to check Camera Permission before the main scene.
  • Restart Button on Game Over screen: restart without Reloading of Scene.
  • Menu Button.



  • Unity 2018.3;
  • New Chapters in AR Shooter’s Documentation:
    • How to set up your own Enemy prefab;
    • How to change Death Animation.


  • Unity 2018.2;
  • TextMesh Pro texts for Menu Scene.
  • Fix StartCanvas, so you can seamlessly add buttons to HUDCanvas if you want.


New Architecture of AR Shooter with Object Pools: EnemyManagersXRControl initializes each zombie type (EnemyManagerXR with Object Pool) now (more performance). There are 3 object pools in total: ZomBunny, ZomBear, Hellephant.

  • Unity 2018.1;
  • Object Pool with separate Enemy Manager for each Zombie prefab;
  • Caching of all Components & Animation Parameters for Enemy Prefabs;
  • Start Tutorial in Game Scene.


  • Merge EnemyMovementXR.cs with EnemyHealthXR.cs;
  • InvokeRepeating () => Coroutine in EnemyManagerXR.cs;
  • Set “navMeshAgent.enabled = false;” once after Death;
  • Enemies are disappearing right after death now.

1.1 (More Complete Project as a Separate Game):

  • Shoot Animation,
  • Menu Scene,
  • Load Screen Control,
  • Colored Particles for Zombies,
  • Mobile Shaders for enemies,
  • Public Unity Events for more flexibility,
  • And more…
Unity Assets

Support for Unity Assets

I am Andrey Sirota, Founder of Makaka Games and full-time Publisher on the Unity Asset Store. First, read the latest docs online. If it didn’t help, get the support.

Related Articles


  1. Hello Makaka, I need shop your module, i have a question:

    Since which android version is supported?


  2. Andrew, Can I play this before buy to see features runing or have a problem to deploy this to the playstore (android)?
    maybe I know answare but we need ask…

Leave a Reply

Your email address will not be published. Required fields are marked *

Comment moderation is enabled. Your comment may take some time to appear.

Back to top button