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.
Contents
Game Modes: AR and Non-AR
You can choose Game Mode on the Demo Scene before the start:
- Non-AR Mode (for all tested platforms) with the next Camera Control Modes:
- Desktop: Keyboard/Mouse.
- Mobile: Sensor Camera (docs).
- 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
- Unified Demo Scene for Both Modes (AR and Non-AR).
- Sensor Camera (docs).
- Random Object Pooler.
- Menu Scene.
- Permission Scene with Camera Permission Request using free Native Camera.
- Loading Screen to switch scenes seamlessly.
Check the Map of Unity Assets to choose the product that best suits your needs.
User Input
Action | Desktop | Mobile |
---|---|---|
Play | LMB / Space | Tap |
Reset Data | LMB / R | Tap |
Quit | LMB / Escape | Tap |
Demo Scene
Action | Desktop | Mobile |
---|---|---|
Shoot | LMB | Tap |
Rotate Camera | RMB / WASD / Arrow Keys | Non-AR: Motion Sensor (Gyroscope or Accelerometer) via Sensor Camera AR: AR Foundation scripts (provide the same experience as in Non-AR) |
Pause | LMB / Escape | AR & Non-AR: Tap AR: Leaving the Safe Zone |
Limitations
Learn Limitations separately for Each Asset included in the package.
Tutorial
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.
Steps
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.
- Create a New Unity Project with Unity 2022.3.20 & “3D (Built-In Render Pipeline)” Template:
- After the installation is completed, the asset will use the Universal Render Pipeline (URP).
- File > Build Settings > Windows, Mac, Android, iOS, WebGL > Switch Platform.
- Next Packages must be manually installed with Git & Unity Package Manager:
- Download and import FPS Shooter into Unity.
- Warning Windows:
- Click “Import” to overwrite the Project Settings with predefined ones.
- Click “Install/Upgrade” for Package Manager Dependencies.
- Click “No” when enabling the backends for the new input system.
- Warning Windows:
- 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”):
- TextMesh Pro 3.0.8:
- Always Required: Window > TextMeshPro > Import TMP Essential Resources.
- AI Navigation 1.1.5;
- AR Foundation 5.1.3;
- Apple ARKit XR Plugin 5.1.3;
- Google ARCore XR Plugin 5.1.3;
- Input System 1.7.0.
- TextMesh Pro 3.0.8:
- Reopen Unity Project.
- Open Scene: Makaka Games > FPS Shooter > Scenes > Demo.
- 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
- Duplicate one of the customized prefabs: ZomBunnyAR.
- Indicate your 3D-model, audio, etc. inside the new prefab.
- In “$” Game Object, select the appropriate Enemy Manager: EnemyManagerZomBunny.
- In the Random Object Pooler component, indicate your own (duplicated & customized) prefab & Maximum Enemy Amount (Init Pooled Amount).
- In the Enemy Manager XR component, set up Spawn Points & Timing as you need.
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
- Mobile Platforms:
- AR & Non-AR: iOS on iPhone XS Max;
- AR & Non-AR: Android on Samsung Galaxy A71;
- Non-AR: WebGL in Google Chrome.
- Desktop Platforms (Non-AR):
- Windows;
- macOS;
- WebGL in Google Chrome.
Support
First, read the latest docs online.
If it didn’t help, get the support.
Changelog
Check the current version of FPS Shooter on Asset Store.
The latest versions will be added as soon as possible.
4.1:
Features:
- Manual Game Pause using the Escape Key (in addition to UI Button and Automatic Game Pause related to the Safe Zone in AR).
Improvements:
- 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.
4.0:
Features:
- Non-AR Desktop Support:
- Windows,
- macOS.
- Non-AR WebGL Support:
- Desktop;
- Mobile via HTTPS: iOS & Android. Learn WebGL Tutorial.
- “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.
Improvements:
- AR Foundation 5.1.3;
- Unity 2022.3.20.
- Native Camera 1.4.3.
- AI Navigation 1.1.5.
- Editor Testing of AR Mode for iOS & Android:
- AR Foundation > XR Simulation (instead of Custom Solution).
- Sensor Camera 2.1 is used for Non-AR Mode now instead of AR Camera Lite.
- Shooting is Blocked when Clicking UI.
- Current Score has Animation when restarting.
3.5:
Improvements:
3.4:
Improvements:
3.3:
Features:
- AR Onboarding UX with Transparent Video Manuals & AR States;
- AR Light Estimation: estimates light data in physical space and applies it to game space.
Improvements:
- Unity 2021.1.28;
- Plane Detection Tutorial: Loading Animation, Clearer Guidance;
- Modern Standards of Project Settings (based on New Unity Project);
- Blocking Player Shooting until Game Start;
- AR Camera Lite 4.2 (docs);
- Native Camera 1.3.1;
- AI Navigation 1.0.0-exp.4 package in UPM.
Fixes:
- iOS: “Error Domain=com.apple.arkit.error Code=102 “Required sensor failed.”
3.2:
3.1:
- AI Navigation 1.0.0-exp.3 package in UPM (replacement for “NavMeshComponents” folder);
- Unity 2021.1.12.
3.0:
- 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.
2.3:
- Unity 2019.2.9;
- Unified UI Layout to match different resolutions (iPhone XS Max => iPhone 6);
- TextMesh Pro 2.0.1 is provided with Unity Package Manager now.
2.2:
- Unity 2018.3;
- New Chapters in AR Shooter’s Documentation:
- How to set up your own Enemy prefab;
- How to change Death Animation.
2.1:
- Unity 2018.2;
- TextMesh Pro texts for Menu Scene.
- Fix StartCanvas, so you can seamlessly add buttons to HUDCanvas if you want.
2.0:
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.
Optimizations:
- 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…
Hello Makaka, I need shop your module, i have a question:
Since which android version is supported?
Thanks
Hi, there are no limitations for Android version.
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…
Hi, Reinaldo!
You can upload the project to Google Play.
Everything is good here.