{"id":14960848,"url":"https://github.com/igooose/unity-tpmovement","last_synced_at":"2026-02-23T20:44:14.255Z","repository":{"id":218056557,"uuid":"745420182","full_name":"igooose/Unity-TPMovement","owner":"igooose","description":"🏃‍♂️ Third person movement system for unity project.","archived":false,"fork":false,"pushed_at":"2024-06-27T15:18:36.000Z","size":21654,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-21T14:26:06.468Z","etag":null,"topics":["third-person-character-controller","unity","unity-movements","unity-package","unity-scripts"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/igooose.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-01-19T09:49:15.000Z","updated_at":"2024-12-04T18:54:21.000Z","dependencies_parsed_at":"2024-08-22T15:20:27.642Z","dependency_job_id":null,"html_url":"https://github.com/igooose/Unity-TPMovement","commit_stats":null,"previous_names":["vianagus/unity-tpmovement","igooose/unity-tpmovement"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/igooose/Unity-TPMovement","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igooose%2FUnity-TPMovement","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igooose%2FUnity-TPMovement/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igooose%2FUnity-TPMovement/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igooose%2FUnity-TPMovement/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igooose","download_url":"https://codeload.github.com/igooose/Unity-TPMovement/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igooose%2FUnity-TPMovement/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273850755,"owners_count":25179357,"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-09-06T02:00:13.247Z","response_time":2576,"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":["third-person-character-controller","unity","unity-movements","unity-package","unity-scripts"],"created_at":"2024-09-24T13:23:12.509Z","updated_at":"2026-02-23T20:44:14.225Z","avatar_url":"https://github.com/igooose.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 🏃‍♂️ TPMovement\n**TPMovement** is a thrid person movement system for unity project.\nThere are two version of TPMovement, using `CharacterController` and using `Rigidbody`.\n|Features|Description|\n|---|---|\n|Basic Move|Idle, Walk, Run, Sprint.|\n|Jump|Able to multiple jump, not only double jump.|\n|Dash|Able to perform dash both on ground and on air.|\n\n## ⚙ Installation\n### TPMovement in general (with `CharacterController` and `Rigidbody`):\n1. Download or copy/paste `TPMovement.cs`.\n2. Attach the script into player object.\n3. Don't forget to setup `ground layer` on Unity and `TPMovement inspector`.\n\nMake sure follow setting below if using **Rigidbody**.\n\n\u003cimg src=\"./_Readme/installation_rigidbody_setting.png\" alt=\"TPMovement Jump Preview\"/\u003e\n\n## 📔 How to Use\nJust get the TPMovement component and use the public methods. But first of all, make sure to call `TPMovement.OnUpdate()` in Unity's `Update()`, or Unity's `FixedUodate()` if using rigidbody.\n\n### Example\n```c#\npublic class PlayerController : MonoBehaviour\n{\n    // component\n    private TPMovement _tpMovement;\n\n    void Start()\n    {\n        _tpMovement = GetComponent\u003cTPMovement\u003e();\n    }\n\n    void Uodate()\n    {\n        // read input\n        Vector2 inputAxis = new Vector2(Input.GetAxisRaw(\"Horizontal\"), Input.GetAxisRaw(\"Vertical\"));\n        bool inputJump = Input.GetButtonDown(\"Jump\");\n        bool inputDash = Input.GetButtonDown(\"Dash\");\n\n        // must call this OnUpdate() in unity's Update()\n        // call in FixedUpdate() if using Rigidody\n        _tpMovement.OnUpdate(inputAxis);\n\n        // input and action\n        if(inputAxis.magnitude \u003e 0)\n            _tpMovement.Run();\n        else\n            _tpMovement.Idle();\n\n        if(inputJump)\n            _tpMovement.Jump();\n\n        if(inputDash)\n            _tpMovement.Dash();\n    }\n}\n```\n\n## 📡 Public Method\n| Method | Type  | Description |\n| --- | --- | --- |\n| `Idle()` | void | Will not moving, require to stop basic movement. |\n| `Walk()` | void | Move with walk speed. |\n| `Run()` | void | Move with run speed. |\n| `Sprint()` | void | Move with sprint speed. |\n| `Jump()` | void | Trigger jump. |\n| `Dash()` | void | Trigger dash. |\n\n## 🧩 Attribute on Inspector\n| Attribute | Type  | Description |\n| --- | --- | --- |\n| **Move** |  |  |\n| `Walk Speed` | float | Walk speed. |\n| `Run Speed` | float | Run speed. |\n| `Sprint Speed` | float | Sprint speed. |\n| **Facing Speed** |  |  |\n| `Normal Facing` | float | Facing rotation speed. |\n| `Sprint Speed` | float | Facing rotation speed when on sprint. |\n| **Jump** |  |  |\n| `Jump Height` | float | Jump height. |\n| `Max Jump` | int | Maximum number of jump can perform. |\n| **Dash** |  |  |\n| `Dash Speed` | float | Dash speed. |\n| `Dash Duration` | float | Dash duration. |\n| `Dash Cooldown` | float | Dash cooldown. |\n| **Gravity** |  |  |\n| `Gravity` | float | Gravity power. |\n| `Gravity Scale` | float | Gravity power's multiplier. |\n| **Ground Check** |  |  |\n| `Ground Check Radius` | float | Radius of the ground check. |\n| `Ground Layer` | LayerMask | Layer that ground check able to detect. |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figooose%2Funity-tpmovement","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figooose%2Funity-tpmovement","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figooose%2Funity-tpmovement/lists"}