{"id":29738553,"url":"https://github.com/madeyellow/animatorparameters","last_synced_at":"2026-05-06T10:38:35.129Z","repository":{"id":304514098,"uuid":"1018994481","full_name":"madeyellow/AnimatorParameters","owner":"madeyellow","description":"Free strong-typed Unity's animator parameters","archived":false,"fork":false,"pushed_at":"2025-07-13T15:30:40.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-26T00:04:44.509Z","etag":null,"topics":["animator","dotnet","game-development","unity"],"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/madeyellow.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-13T14:06:49.000Z","updated_at":"2025-07-13T15:30:43.000Z","dependencies_parsed_at":"2025-07-13T16:28:41.811Z","dependency_job_id":"160b72eb-3631-46eb-b45b-5aa0bb8606dd","html_url":"https://github.com/madeyellow/AnimatorParameters","commit_stats":null,"previous_names":["madeyellow/animatorparameters"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/madeyellow/AnimatorParameters","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madeyellow%2FAnimatorParameters","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madeyellow%2FAnimatorParameters/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madeyellow%2FAnimatorParameters/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madeyellow%2FAnimatorParameters/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/madeyellow","download_url":"https://codeload.github.com/madeyellow/AnimatorParameters/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madeyellow%2FAnimatorParameters/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003189,"owners_count":26083533,"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-10-10T02:00:06.843Z","response_time":62,"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":["animator","dotnet","game-development","unity"],"created_at":"2025-07-25T19:01:07.547Z","updated_at":"2026-05-06T10:38:35.122Z","avatar_url":"https://github.com/madeyellow.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ❓ What is it?\n**Tired of animator parameter headaches?** This tiny Unity package eliminates you from:\n* 🚫 Manually defining string constants for Animator parameters;\n* 🚫 Manual caching hashes with `Animator.StringToHash()`;\n* 🚫 Remembering names of Get/Set methods for Animator's parameters;\n\nInstead, enjoy the 3-simple-steps:\n* Define a strongly-typed parameter from the package;\n* Pass its string name (must match Animator parameter name);\n* Use `.Value` to get/set values instantly;\n\nIt effectively **hashes \u0026 caches parameter name** and **reuses it** automatically to get/set values with maximum performance possible. For you it will be as simple as the following:\n\n```\n_isMoving = new BooleanParameter(\"is_moving\", _animator);  \n_isMoving.Value = true; // Done! 🎉\n```\n\n# 💾 Installation\n* Open **Unity Package Manager** (Window \u003e Package Manager) OR (Window \u003e Package Management \u003e Package Manager) in **Unity 6**;\n* Click \"+\" → \"Add package from git URL\";\n* Paste this **repo's URL**;\n* Hit **Install**;\n\n# 🚀 Getting started\n## Step 1: Define Parameters\nAdd the namespace and declare your parameters:\n\n```\nusing MadeYellow.AnimatorParameter;\n\nprivate BooleanParameter _isMoving;\nprivate FloatParameter _velocity;\nprivate TriggerParameter _onLand;\n```\n\nThe package support those types of parameters:\n* `BooleanParameter` for **Bool** parameters;\n* `IntegerParameter` for **Int** parameters;\n* `FloatParameter` for **Float** parameters;\n* `TriggerParameter` for triggers (best suited for events, like 'fall', etc.);\n\n*Basically, it's the same types that are supported by Unity's `Animator`.*\n\n## Step 2: Instantiate Parameters\nInitialize them in `Awake()` or `Start()` with **name** \u0026 **Animator** reference:\n\n```\nprivate void Awake()\n{\n    _animator = GetComponent\u003cAnimator\u003e();\n\n    // Create instances of parameters like this\n    _isMoving = new BooleanParameter(\"is_moving\", _animator);\n    _velocity = new FloatParameter(\"velocity\", _animator);\n    _onLand = new TriggerParameter(\"on_land\", _animator);\n}\n```\n\nThere are just two arguments among ANY of the AnimatorParameter:\n* `codename` It's just a `string`. It MUST be have same name that you've defined inside Animator controller in Unity Editor. *No need to define constant, just pass a string right into the constructor. Parameter will do the rest for you.*;\n* `animator` Well, this is the `Animator` that you want to pass values into;\n\n## Step 3: Use Parameters Effortlessly\nNow you might GET or SET values by just calling `.Value` property of your parameter!\n\n```\nprivate void HowToSetValues()\n{\n    // This is how you SET values in the Animator\n    _isMoving.Value = true; // Pass your BOOL value here\n    _velocity.Value = 10f; // Pass your FLOAT value here\n\n    // When you need to activate trigger - you may easily access it\n    _onLand.Trigger();\n}\n\nprivate void HowToGetValues()\n{\n    // This is how GET values from the Animator\n    var isCurrentlyMoving = _isMoving.Value;\n}\n```\n\n## 🎯 Full Usage Example\n\n```\nusing MadeYellow.AnimatorParameter;\nusing UnityEngine;\n\npublic class AnimatorParameterExample : MonoBehaviour\n{\n    private Animator _animator;\n\n    // STEP 1. Define all the parameters you need once\n    private BooleanParameter _isMoving;\n    private FloatParameter _velocity;\n    private TriggerParameter _onLand;\n\n    private void Awake()\n    {\n        // STEP 2. Cache Animator\n        _animator = GetComponent\u003cAnimator\u003e();\n\n        // STEP 3. Create instances of parameters (define names right in the constructor, no need to cache them) and pass that animator into them\n        _isMoving = new BooleanParameter(\"is_moving\", _animator);\n        _velocity = new FloatParameter(\"velocity\", _animator);\n        _onLand = new TriggerParameter(\"on_land\", _animator);\n    }\n\n    private void SomeSetMethod()\n    {\n        // Now somewhere in your script you may use those parameters to update their values\n        _isMoving.Value = true; // Pass your value\n        _velocity.Value = 10f; // Pass your value\n\n        // When you need to activate trigger - you may easily access it\n        _onLand.Trigger();\n    }\n}\n```\n\nAlso you may fetch current value of parameter FROM Animator by getting value of `.Value` property of your parameter:\n\n```\nprivate void SomeGetMethod()\n{\n    // That will fetch a value of \"is_moving\" parameter from the animator\n    var isCurrentlyMoving = _isMoving.Value;\n}\n```\n\n# ⚡ Why You’ll Love It\n* 🧠 **Zero name caching** – Define names once in constructors;\n* ⚡ **Auto-hashing** – Package uses `Animator.StringToHash()` under the hood;\n* 💎 **Clean syntax** – `.Value` for get/set, `.Trigger()` for events;\n* 🚀 **Performance optimized** – Future plans for value-diff checks;\n* 📦 **Tiny \u0026 dependency-free** – Minimal footprint;\n\n# 🗺️ Roadmap\n\n## Planned features\n\n* Add a way to smoothly change `Value` of `FloatParameter` in Animator;\n\n# Want me to add something OR found a bug?\n\nPlease add an issue and describe your feature request or bug. I will add a feature if consider it usefull, and for sure will fix bugs, 'cause I'm using that package myself in my games.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadeyellow%2Fanimatorparameters","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmadeyellow%2Fanimatorparameters","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadeyellow%2Fanimatorparameters/lists"}