0% found this document useful (0 votes)
20 views4 pages

Unity Assignment Document

The document outlines the development of a mini game prototype called 'Potion Collector' using Unity 3D for Android, integrated with Firebase and Addressables. The game involves collecting randomly appearing potions to increase the score, with data saved in Firebase and potion types loaded via Addressables. It specifies technical requirements, deliverables, and evaluation criteria for gameplay, event systems, Firebase integration, asset management, code quality, and documentation.

Uploaded by

lovely Pakkiee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views4 pages

Unity Assignment Document

The document outlines the development of a mini game prototype called 'Potion Collector' using Unity 3D for Android, integrated with Firebase and Addressables. The game involves collecting randomly appearing potions to increase the score, with data saved in Firebase and potion types loaded via Addressables. It specifies technical requirements, deliverables, and evaluation criteria for gameplay, event systems, Firebase integration, asset management, code quality, and documentation.

Uploaded by

lovely Pakkiee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Objective

Build a mini game prototype using Unity 3D for Android, integrated with Firebase and
Addressables. The architecture should follow an event-driven approach.

You can use any unity asset for UI or GameObjects.

Game Concept: Potion Collector

●​ Randomly few potions will appear on screen or in the world.


●​ Users will simply click on potions and collect them.
●​ Potions will disappear after a few secs.
●​ Each potion increases the score.
●​ The score and session data are saved in Firebase.
●​ Different potion types are loaded via Addressables.
●​ Custom events manage the game flow and UI updates.

Technical Requirements

1. Unity 3D (Target: Android)

●​ 3D environment with hyper casual gameplay mechanics (e.g., tap to collect, timed
spawns).
●​ No character control system; gameplay should revolve around player interaction with
spawning potions or timed actions.
●​ Collectible potion items placed randomly in the world.
●​ Score UI that updates when a potion is collected.
●​ Build must run on Android devices and support common screen resolutions.​

2. Firebase Integration

●​ Use Firebase Realtime Database or Firestore to:


○​ Save: Player score, session start, and session end time.
○​ Load: Top 5 high scores for leaderboard display.
●​ (Optional) Use Firebase Authentication with anonymous login.

3. Addressables

●​ You can use https://bunny.net/ for hosting addressables and fetch it (14 days trial).
●​ Use Unity Addressables to load potion prefabs asynchronously.
●​ Implement a custom ScriptableObject inspector for managing potion data (e.g., name,
potency, icon, and description). The custom inspector should allow for easy editing of
potion properties directly within the Unity Editor, using features like text fields, sliders,
object fields, and text areas.
●​ At least 3 potion types with unique visuals/behaviors.
●​ Demonstrate ability to simulate remote updates (e.g., changing labels).​

4. Event System

●​ Implement a custom or Unity-based event system.


●​ Fire and listen to at least 10 custom events throughout the game lifecycle. These should
include relevant parameters to facilitate data flow and logging. Examples include:​

○​ GameStartedEvent — parameters: timestamp, sessionId


○​ GamePausedEvent — parameters: timestamp
○​ GameResumedEvent — parameters: timestamp
○​ GameEndedEvent — parameters: timestamp, totalScore
○​ PotionSpawnedEvent — parameters: potionType, position
○​ PotionCollectedEvent — parameters: potionType, value, timestamp
○​ ScoreUpdatedEvent — parameters: newScore, scoreDelta
○​ LeaderboardLoadedEvent — parameters: topScores[]
○​ FirebaseSyncStartedEvent — parameters: operationType
○​ FirebaseSyncCompletedEvent — parameters: operationType, success​

●​ Events must drive UI updates, sound effects, Addressable asset loading, and Firebase
syncing.
●​ Encourage use of event managers or signal systems for decoupling logic.​

Additionally, implement the concept of User Properties using Firebase Analytics or Firebase
Remote Config:

●​ Set properties such as player_level, session_count, last_active_date, and


preferred_potion_type.
●​ These properties can help customize gameplay, experiment with feature variants, and
segment users for analytics.​
Deliverables

1.​ Submission Timeline


○​ Submit the project within 3 days of receiving the task assignment email.
2.​ GitHub Repository
○​ Full Unity project hosted in a public or private repository (include access if
private). Add [email protected] and [email protected],
if private repo.
○​ Must include organized folders (Assets, Scripts, Prefabs, etc.) and commit
history.
3.​ README File
○​ Game overview and interaction flow.
○​ Firebase setup guide (exclude API keys).
○​ Addressables usage notes.
○​ Description of event system and its usage.
○​ Build instructions for Android (include Unity version used).
4.​ Android APK Build
○​ A working .apk file compatible with Android 8.0+.
○​ Upload to Google Drive, GitHub Releases, or similar.
○​ Include QR code or direct download link.
5.​ Gameplay Video
○​ A 1–2 minute video showcasing core gameplay and Firebase/Addressables
usage.
○​ Share via Google Drive, YouTube (unlisted), or Loom.
6.​ Firebase Console Access (Optional)
○​ Editor access to a demo Firebase project (with mock/test data) to
[email protected], [email protected]
○​ Ensure no production credentials are exposed.​

Evaluation Criteria

Area Focus

Gameplay Smooth control, intuitive experience on Android

Event System Clean decoupling using events


Firebase Proper implementation of data sync

Addressables Efficient and scalable asset management

Code Quality Modularity, readability, maintainability

Documentation Clarity and completeness

You might also like