An immersive Augmented Reality stack builder game developed for Android using Google's ARCore SDK and Unity Engine.
Download APK ย ยทย Source Code ย ยทย Technical Specification
Authors ย ยทย Overview ย ยทย Features ย ยทย Structure ย ยทย Quick Start ย ยทย Usage Guidelines ย ยทย License ย ยทย About ย ยทย Acknowledgments
Important
Special thanks to Hasan Rizvi for his meaningful contributions, guidance, and support that helped shape this work.
The AR Stack Builder Game is a Computer Graphics Mini-Project designed to explore the capabilities of Augmented Reality (AR) in mobile gaming. By leveraging Google's ARCore for plane detection and tracking, and Unity for 3D rendering and physics, this game allows players to stack 3D blocks in their real-world environment.
The objective is simple yet challenging: build the highest stack possible without letting it topple over, testing both the player's precision and the stability of the virtual structure in the physical world.
Note
Research Impact: The development and architectural overview of this project are part of a curated Computer Engineering collection on ResearchGate.
| # | Resource | Description |
|---|---|---|
| 1 | AR Stack Builder APK | Production Android build (APK) |
| 2 | Unity Package | Unity Asset Exchange Package |
| 3 | Technical Specification | Technical architecture and logic specification |
| 4 | Source Code | Core C# implementation files |
| 5 | CG Laboratory | Academic repository for Computer Graphics |
Tip
Technical Customization
To analyze game difficulty or physics behavior, the moveSpeed variable in MovingCube.cs (Line 28) can be modified. Incremental adjustments to this parameter allow for the evaluation of user reaction times and precision in augmented environments.
| Feature | Description |
|---|---|
| Immersive AR | Places game elements in the real world using plane detection |
| Physics Engine | Realistic gravity and collision simulation for stacking blocks |
| 3D Rendering | High-quality 3D assets rendered using Unity Engine |
| Touch Controls | Intuitive touch interface for positioning and dropping blocks |
- Engine: Unity 3D
- AR SDK: Google ARCore
- Language: C#
- Platform: Android
AR-STACK-GAME/
โ
โโโ docs/ # Formal Documentation
โ โโโ SPECIFICATION.md # Technical Architecture & Specification
โ
โโโ Source Code/ # Core Implementation
โ โโโ ARPlacementManager.cs # ARCore Plane Detection
โ โโโ CubeSpawner.cs # Block Instantiation
โ โโโ MovingCube.cs # Physics & Slicing Logic
โ โโโ StackManager.cs # Game State Controller
โ
โโโ .gitattributes # Git Configuration
โโโ .gitignore # Git Ignore Rules
โโโ AR-Stack-Game.apk # Android Production Build
โโโ ARStackGame.unitypackage # Unity Asset Package
โโโ CITATION.cff # Citation Metadata
โโโ codemeta.json # Project Metadata (JSON-LD)
โโโ LICENSE # MIT License
โโโ README.md # Main Documentation
โโโ SECURITY.md # Security Policy & Posture- Android Device: Optimized for devices supporting Google Play Services for AR (ARCore).
- Camera Access: Explicit camera permissions are required for real-time environment mapping and plane detection.
- Environment: Operates best in well-lit areas with textured surfaces (e.g., patterned floors or rugs) to assist AR tracking stability.
Warning
Hardware & Environmental Requirements
This application requires an ARCore-compatible Android device. Successful environmental mapping is highly dependent on ambient lighting and surface texture; low-light conditions or reflective/featureless surfaces (like plain white tables) will result in tracking failure or virtual drift.
-
Download the Project Download the production-ready build directly from the repository:
AR-Stack-Game.apk -
System Configuration
- Locate the
.apkfile in your device's file manager. - Enable "Install from unknown sources" in System Settings if prompted.
- Proceed with the installation.
- Locate the
-
Environment Initialization
- Launch the application and grant Camera Permission.
- Surface Mapping: Move the device in a slow, circular motion while pointing at a flat surface. Visual indicators will appear once the ARCore engine successfully identifies a valid horizontal plane.
-
Gameplay Execution
- Place Foundation: Tap the detected plane to instantiate the game's base.
- Stack Blocks: Tap the screen to drop oscillating blocks. Precision is critical; portions of the block extending beyond the previous layer will be sliced, reducing the surface area for subsequent stacks.
This repository is openly shared to support learning and knowledge exchange across the academic community.
For Students
Use this mini-project as a reference for understanding Augmented Reality (AR) implementation, Unity physics, and mobile game development. The source code is documented to support self-paced learning and exploration of real-time environmental mapping.
For Educators
This project may serve as a practical example or supplementary teaching resource for Computer Graphics courses (CSC404 / CSL402). Attribution is appreciated when utilizing content.
For Researchers
The documentation and organization provide insights into academic project curation and educational software structuring.
This repository and all linked academic content are made available under the MIT License. See the LICENSE file for complete terms.
Note
Summary: You are free to share and adapt this content for any purpose, even commercially, as long as you provide appropriate attribution to the original author.
Copyright ยฉ 2020 Amey Thakur, Hasan Rizvi
Created & Maintained by: Amey Thakur & Hasan Rizvi
Academic Journey: Bachelor of Engineering in Computer Engineering (2018-2022)
Institution: Terna Engineering College, Navi Mumbai
University: University of Mumbai
This project features the AR Stack Builder Game, an immersive augmented reality application developed as a 4th-semester mini-project for the Computer Graphics course. It showcases the practical integration of Unity's 3D rendering capabilities with Google's ARCore SDK for real-world plane detection and physics-based interactions.
Connect: GitHub ย ยทย LinkedIn ย ยทย ORCID
Grateful acknowledgment to Hasan Rizvi for his exceptional collaboration and innovative contributions during the development of this project. His technical expertise in ARCore integration, physics simulation, and commitment to software quality were instrumental in achieving the project's immersive objectives. Learning alongside him was a transformative experience; his thoughtful approach to problem-solving and steady encouragement turned complex challenges into meaningful learning moments. This work reflects the growth and insights gained from our side-by-side academic journey. Thank you, Hasan, for everything you shared and taught along the way.
Grateful acknowledgment to the faculty members of the Department of Computer Engineering at Terna Engineering College for their guidance and instruction in Computer Graphics. Their expertise in real-time rendering and spatial mapping helped shape the technical foundation of this project.
Special thanks to the mentors and peers whose encouragement, discussions, and support contributed meaningfully to this learning endeavor.
Authors ย ยทย Overview ย ยทย Features ย ยทย Structure ย ยทย Quick Start ย ยทย Usage Guidelines ย ยทย License ย ยทย About ย ยทย Acknowledgments
๐ฌ Computer Graphics Lab ย ยทย ๐ฎ AR-STACK-GAME
Computer Engineering (B.E.) - University of Mumbai
Semester-wise curriculum, laboratories, projects, and academic notes.