{"id":29041853,"url":"https://github.com/vpekdas/unity-junior-data-persistence-prototype-7","last_synced_at":"2025-07-29T06:33:42.948Z","repository":{"id":300235737,"uuid":"1005626199","full_name":"Vpekdas/unity-junior-data-persistence-prototype-7","owner":"Vpekdas","description":"Break the Wall Unity game with player name input and persistent high score tracking.","archived":false,"fork":false,"pushed_at":"2025-06-24T13:20:08.000Z","size":17381,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-24T14:30:58.056Z","etag":null,"topics":["unity","unity-learning"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Vpekdas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-20T14:32:21.000Z","updated_at":"2025-06-24T13:20:12.000Z","dependencies_parsed_at":"2025-06-24T14:43:13.451Z","dependency_job_id":null,"html_url":"https://github.com/Vpekdas/unity-junior-data-persistence-prototype-7","commit_stats":null,"previous_names":["vpekdas/unity-junior-prototype-7","vpekdas/unity-junior-data-persistence-prototype-7"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Vpekdas/unity-junior-data-persistence-prototype-7","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-data-persistence-prototype-7","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-data-persistence-prototype-7/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-data-persistence-prototype-7/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-data-persistence-prototype-7/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vpekdas","download_url":"https://codeload.github.com/Vpekdas/unity-junior-data-persistence-prototype-7/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-data-persistence-prototype-7/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267639569,"owners_count":24119780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["unity","unity-learning"],"created_at":"2025-06-26T15:02:54.442Z","updated_at":"2025-07-29T06:33:42.921Z","avatar_url":"https://github.com/Vpekdas.png","language":"C#","readme":"# unity-junior-data-persistence-prototype-7\n\n## Screenshots\n\nhttps://github.com/user-attachments/assets/42180737-7a06-40e1-9c5e-92324c5b144a\n\n## Table of Contents\n1. [Description](#description)\n2. [Installation](#installation)\n3. [Run](#run)\n4. [Credits](#credits)\n5. [Contributing](#contributing)\n6. [License](#license)\n\n## Description\n\nThis prototype is part of the Junior Programmer Pathway from Unity Learn. Its purpose is to teach the fundamentals of gameplay mechanics through scripting in C#.\nUnlike earlier prototypes, this project starts with a fully functional game. The focus is on enhancing the game by implementing features such as saving the best score and displaying a leaderboard.\n\n### Purpose\n\nIt's a **Break the Wall** game and we must code score feature as:\n\n- **Player name** (saving data between scenes)\n  - Create a new Start Menu scene for the game with a text entry field prompting the user to enter their name, and a Start button.\n  - When the user clicks the Start button, the Main game scene will be loaded and their name will be displayed next to the score. \n- **High score** (saving data between sessions):\n  - As the user plays, the current high score will be displayed on the screen alongside the player name who created the score.\n  - If the high score is beaten, the new score and player name will be displayed instead.\n  - The highest score will be saved between sessions, so that if the player closes and reopens the application, the high score and player name will be retained.\n\n## Controls\n\n| **Key** | **Action**           |\n|:-------:|----------------------|\n| `A` or `←`| Move to the left   |\n| `D` or `→`| Move to the right  |\n| `ESCAPE`  | Return to menu     |\n\n### Technologies used\n\n- **Unity** – Version 6000.0.47f1\n- **C#** – Used for gameplay scripting\n  \n### Challenges and Future Features\n\nDuring development, I explored alternative methods for data persistence and discovered how to use JSON serialization to store player data instead of relying solely on PlayerPrefs.\n\n## Installation\n\nYou can download pre-built releases for your supported operating system from the GitHub Releases page. Available builds include:\n- macOS\n- Windows\n- Linux\n\n## Run\n\nTo run the program, simply double-click the executable file for your operating system.\n\n### MacOS\n\nUnzip and open the .app file.\n\n### Windows\n\nUnzip and double-click the .exe file.\n\n### Linux\n\n```bash\nchmod +x Prototype_7_Linux.x86_64\n./Prototype_7_Linux.x86_64\n```\n\n### Web\n\nPlay on [browser](https://vpekdas.github.io/unity-junior-data-persistence-prototype-7)\n\n## Credits\n\nThis project is based on the Unity **Junior Programmer Pathway** by Unity Learn.\nMany thanks to the instructors for their excellent step-by-step video tutorials and guidance.\n\n## Contributing\n\nTo report issues, please create an issue here:  [issue tracker](https://github.com/Vpekdas/unity-junior-data-persistence-prototype-7/issues).\n\nIf you'd like to contribute, please follow the steps outlined in [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpekdas%2Funity-junior-data-persistence-prototype-7","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvpekdas%2Funity-junior-data-persistence-prototype-7","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpekdas%2Funity-junior-data-persistence-prototype-7/lists"}