AR Shooter (Unity Asset) — first-person AR Survival Shooter: kill the zombies and save your life with full immersion in the game! Feel the power of Unity FPS AR Shooter.
The game uses 2 AR Engines with auto selection:
- AR Foundation (ARCore, ARKit) with real Plane Detection (includes tutorial, visual plane confirmation/resetting, placing the game around the player) & AR Safe Zone (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).
- AR Camera Lite will be used when AR Foundation is not supported by the mobile device. It’s also used when Testing in Unity Editor: the game in Editor is always run with this Engine.
Features of AR Shooter
Bring the enchanting Power of Augmented Reality into your amazing AR Shooting Game or App:
- Feel the Effect of Presence with AR.
- Kill 3 Types of Zombies in Real World: Bunnies, Bears & Elephants.
- Defend “Iron Throne” from Enemy Damage.
- Be Warned about Enemy Attacks through Red Fullscreen Flashes & Health Bar.
- Restart the Game without Scene Reloading.
- Real-Time AR Shadows (docs).
- Mobile Optimizations:
- Unified Demo Scene for both AR Engines.
- AR Camera Lite (docs).
- AR Shadows (docs).
- Menu Scene with Tutorial & Start Button.
- Permission Scene with Camera Permission Request using free Native Camera.
Learn Limitations separately for Each Asset included in package.
This tutorial is relevant for AR Shooter 3.0+.
Tutorial for the previous version can be found only in the asset folder.
Getting Started with AR Shooter
Folders & Files in package by default:
- Makaka Games;
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 New Unity Project with Unity 2021.1.5.
- Build Settings > iOS or Android > Switch Platform.
- Next Packages must be manually installed with Git & Unity Package Manager:
- Download and import AR 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 Unity Package Manager (with advanced settings enabled: “Pre-release Packages” & “Show Dependencies”):
- TextMesh Pro 3.0.6:
- Always Required: Window > TextMeshPro > Import TMP Essential Resources.
- AR Foundation 4.1.7;
- AR Subsystems 4.1.7;
- ARCore XR Plugin 4.1.7;
- ARKit XR Plugin 4.1.7;
- Editor Coroutines 1.0.0;
- Input System 1.0.2;
- Subsystem Registration 1.1.0;
- XR Legacy Input Helpers 2.1.7;
- XR Plugin Management 4.0.1.
- TextMesh Pro 3.0.6:
- Reopen Unity Project.
- Open Scene: Makaka Games > AR > AR Shooter > Scenes > Game.
- Test in the Unity Editor or Build for Mobile.
How to set up your own Enemy prefab and customize Enemy Amount
- Duplicate one of the customized prefabs: ZomBunnyAR.
- Indicate your 3D-model, audio, etc. inside the new prefab.
- In $ game object select appropriate Enemy Manager: EnemyManagerZomBunny.
- In Random Object Pooler component indicate your own (duplicated & customized) prefab & Maximum Enemy Amount (Init Pooled Amount).
- In Enemy Manager XR set up Spawn Points & Timing as you need.
- translational: WASDQE keys — such way you can test AR Safe Zone.
- rotational: Right Mouse Button.
Use Left Mouse Button to Shoot.
Use Fullscreen of Game View in Unity Editor while testing to get a seamless experience.
Auto Selection of AR Engine goes next way:
- The game starts with AR Camera Lite and checks the support of the gyroscope. If gyro is not supported then the game will be run with an accelerometer, otherwise, step 2 will be run.
- AR Foundation support is checked by the AR Foundation Support Checker. If it’s not supported then the game will be run with gyro using AR Camera Lite, otherwise, the game will be run with AR Foundation.
On the Mobile Device, you can forcibly test Game Version with AR Camera Lite and:
- gyroscope on AR Foundation supported devices: Hierarchy View > AR Foundation Support Checker > Is AR Unsupported Not In Editor Test > Check, then Build And Run.
- accelerometer on gyro supported devices: Hierarchy View > ARCameraGYRO > GyroCameraControl > Is Gyro Unsupported Not In Editor Test > Check, then Build And Run.
Tested with Mobile Devices
- iOS on iPhone XS Max.
- Android on Samsung Galaxy A71.
Check the current version of AR Shooter on Asset Store.
The latest versions will be added as soon as possible.
- 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 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.
- Unity 2018.3;
- New Chapters in AR Shooter’s Documentation:
- How to set up your own Enemy prefab;
- How to change Death Animation.
- Fix StartCanvas, so you can seamlessly add buttons to HUDCanvas if you want
- Unity 2018.2;
- TextMesh Pro texts for Menu Scene.
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…