{"id":29041866,"url":"https://github.com/vpekdas/unity-junior-player-control-prototype-1","last_synced_at":"2026-04-17T13:33:09.504Z","repository":{"id":300232586,"uuid":"1005608721","full_name":"Vpekdas/unity-junior-player-control-prototype-1","owner":"Vpekdas","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-20T15:17:36.000Z","size":6551,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-20T15:24:31.737Z","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-20T13:59:22.000Z","updated_at":"2025-06-20T15:18:54.000Z","dependencies_parsed_at":"2025-06-20T15:34:41.668Z","dependency_job_id":null,"html_url":"https://github.com/Vpekdas/unity-junior-player-control-prototype-1","commit_stats":null,"previous_names":["vpekdas/unity-junior-prototype-1"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Vpekdas/unity-junior-player-control-prototype-1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-player-control-prototype-1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-player-control-prototype-1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-player-control-prototype-1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-player-control-prototype-1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vpekdas","download_url":"https://codeload.github.com/Vpekdas/unity-junior-player-control-prototype-1/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-player-control-prototype-1/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262090174,"owners_count":23257124,"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","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:03:00.736Z","updated_at":"2025-10-09T00:24:14.952Z","avatar_url":"https://github.com/Vpekdas.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# unity-junior-player-control-prototype-1\n\n## Screenshots\n\n\nhttps://github.com/user-attachments/assets/1d7062b3-28e0-4297-9c16-d9d36218da87\n\n\nhttps://github.com/user-attachments/assets/df7cc852-4128-454d-85e9-d90b8e9c751f\n\n\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 player control through scripting in C#.\nEach prototype includes:\n- A Learning section that guides you through building core features step by step. Later, you can complete bonus challenges categorized from easy to expert\n- A Challenge section where you're given a broken or incomplete project to fix and extend, testing your understanding and problem-solving skills.\n\n### Purpose\n\nThe objective of this prototype is to create two simple games:\n\n- **Vehicle Game** : Control a ground vehicle and navigate through obstacles.\n- **Plane Game** : Control an aircraft.\n\n#### Bonus Features (for Vehicle Game) :\n- Built obstacle pyramids using crates.\n- Added oncoming vehicles as moving obstacles.\n- Implemented a camera switcher (top-down and driver view).\n- Created local multiplayer functionality.\n\n#### Fixing problems (For Plane game) : \n- The plane is going too fast -\u003e Slow the plane down to a manageable speed.\n- The plane is tilting automatically -\u003e Make the plane tilt only if the user presses the 'Z' or 'S'.\n- The camera is in front of the plane -\u003e Reposition it so it’s beside the plane.\n- The camera is not following the plane -\u003e Make the camera follow the plane.\n- The plane’s propeller does not spin -\u003e Create a script that spins the plane’s propeller.\n\n## Controls\n\n**Vehicle Game** (Player 1)\n| **Key** | **Action**         |\n|:-------:|--------------------|\n| `W`     | Move forward       |\n| `S`     | Move backward      |\n| `A`     | Turn left          |\n| `D`     | Turn right         |\n| `T`     | Switch camera view |\n| `R`     | Restart game       |\n\n**Vehicle Game** (Player 2)\n| **Key** | **Action**         |\n|:-------:|--------------------|\n| `↑`     | Move forward       |\n| `↓`     | Move backward      |\n| `←`     | Turn left          |\n| `→`     | Turn right         |\n\n**Plane Game**\n| **Key** | **Action**         |\n|:-------:|--------------------|\n| `W`     | Pitch up\t\t   |\n| `S`     | Pitch down     \t   |\n\n### Technologies used\n\n- **Unity** – Version 6000.0.47f1\n- **C#** – Used for gameplay scripting\n  \n### Challenges and Future Features\n\nOne of the main challenges in this project was learning how to work with multiple cameras to support a simple local multiplayer experience. It involved managing camera views, player input separation, and screen space.\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\nAlternatively, you can play the game directly in your browser via Unity Play by following the provided link.\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 Vehicle_game.x86_64\n./Vehicle_game.x86_64\n```\n\n### Web\n\nPlay on [browser](https://vpekdas.github.io/unity-junior-player-control-prototype-1/)\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-player-control-prototype-1/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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpekdas%2Funity-junior-player-control-prototype-1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvpekdas%2Funity-junior-player-control-prototype-1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpekdas%2Funity-junior-player-control-prototype-1/lists"}