{"id":16162422,"url":"https://github.com/sunsided/unity-endless-runner","last_synced_at":"2025-03-18T22:31:09.297Z","repository":{"id":48242054,"uuid":"205585124","full_name":"sunsided/unity-endless-runner","owner":"sunsided","description":"An endless runner game in Unity 3D","archived":false,"fork":false,"pushed_at":"2020-02-21T11:27:20.000Z","size":4544,"stargazers_count":23,"open_issues_count":1,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-17T00:09:01.030Z","etag":null,"topics":["endless-runner","game-development","udemy","unity","unity3d"],"latest_commit_sha":null,"homepage":null,"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/sunsided.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-31T19:00:21.000Z","updated_at":"2025-03-13T21:10:15.000Z","dependencies_parsed_at":"2022-08-12T19:41:26.991Z","dependency_job_id":null,"html_url":"https://github.com/sunsided/unity-endless-runner","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Funity-endless-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Funity-endless-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Funity-endless-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Funity-endless-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sunsided","download_url":"https://codeload.github.com/sunsided/unity-endless-runner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244318532,"owners_count":20433929,"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":["endless-runner","game-development","udemy","unity","unity3d"],"created_at":"2024-10-10T02:30:05.200Z","updated_at":"2025-03-18T22:31:08.660Z","avatar_url":"https://github.com/sunsided.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Endless Runner\n\nIn space, no-one can hear you. (Actual fact.)\n\n![](.readme/final-frontier.png)\n\nThis project implements an endless runner game by following and extending on the ideas\nin the [Create a 3D Endless Runner from Scratch in Unity](https://www.udemy.com/course/endlessrunner/) Udemy course.\n\nI have to say that while following the course was a really good learning experience,\nthe coding style in the lectures is just horrible. So ... better to follow the course in space.\n\nSince I'm still learning Unity at this point and am not aware of Unity-specific best\npractices, I'm not sure if I'm was doing the right thing here when trying to keep or \nsave my sanity.\nAlso, some of the bugs - such as being able to jump multiple times, or being able to cancel the dying animation through jumping - are not fixed here.\nAnyway, maybe someone does find this project helpful regardless of that.\n\n## Implementation\n\nCore ideas:\n\n- Tiles are being spawned by a \"virtual character\" moving ahead of the player.\n- The player isn't moving horizontally at all, the world is.\n- Platforms are spawned from an object pool and everything behind the player is recycled immediately.\n\nThis project uses:\n\n- Object pooling,\n- The animation system with blended animations,\n- Animation triggers (shooting magic, footstep sounds, ...),\n- A bunch of particle systems,\n- Overlapping colliders with initially deactivated physics for exploding wall bricks.\n\nThe following video shows the continuous world generation by using physics\ncollisions triggers:\n\n![Platform generation video](.readme/early-animation.webp)\n\nHere's some gameplay footage:\n\n![Gameplay video](.readme/late-game.webp)\n\nA platform prefab showing the triggers used for spawning new platforms\nahead of the player:\n\n![](.readme/box-triggers.png)\n\nOne of the bigger obstacles in the game, the wall, being blasted away\nby the magic spell projectile:\n\n![](.readme/blasting-boxes.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsided%2Funity-endless-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunsided%2Funity-endless-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsided%2Funity-endless-runner/lists"}