{"id":13663471,"url":"https://github.com/WilsonCWong/frostwalk-stats-system","last_synced_at":"2025-04-25T17:30:53.834Z","repository":{"id":126715306,"uuid":"162087029","full_name":"WilsonCWong/frostwalk-stats-system","owner":"WilsonCWong","description":"A simple and extendable stats system for Unity.","archived":false,"fork":false,"pushed_at":"2019-04-03T03:16:49.000Z","size":38,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-10T20:37:32.983Z","etag":null,"topics":["c-sharp","frostwalk","game","unity","unity-asset"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"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/WilsonCWong.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}},"created_at":"2018-12-17T06:49:54.000Z","updated_at":"2019-11-04T18:24:45.000Z","dependencies_parsed_at":"2023-06-17T19:15:32.681Z","dependency_job_id":null,"html_url":"https://github.com/WilsonCWong/frostwalk-stats-system","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilsonCWong%2Ffrostwalk-stats-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilsonCWong%2Ffrostwalk-stats-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilsonCWong%2Ffrostwalk-stats-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilsonCWong%2Ffrostwalk-stats-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WilsonCWong","download_url":"https://codeload.github.com/WilsonCWong/frostwalk-stats-system/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250861952,"owners_count":21499190,"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":["c-sharp","frostwalk","game","unity","unity-asset"],"created_at":"2024-08-02T05:02:28.290Z","updated_at":"2025-04-25T17:30:53.594Z","avatar_url":"https://github.com/WilsonCWong.png","language":"C#","funding_links":[],"categories":["C\\#"],"sub_categories":[],"readme":"# Frostwalk Stats System\nThis is a simple stats system with a custom inspector-based design tool to help you easily create stats for your game characters and entities. As of v1.1, it also comes with a redesigned event system based on Ryan Hipple's ScriptableObject approach. I've taken inspiration from [NeoDragonCP](https://github.com/NeoDragonCP/Unity-ScriptableObjects-Game-Events-) and [Sipstaff](https://github.com/Sipstaff/Unity-SO-Events-With-Data)'s variation on this system.\n\n\u003cp align=\"center\"\u003e \n\u003cimg src=\"https://i.imgur.com/el5Pqxn.png\" title=\"Stats Inspector\" style=\"width: 60%;\" /\u003e\n\u003c/p\u003e\n\n## Requirements\n* Unity 2017.4.17f1 or above\n* Odin Inspector and Serializer 2.0.13 or above ([Purchase here](https://assetstore.unity.com/packages/tools/utilities/odin-inspector-and-serializer-89041))\n\nTo install, grab the latest package release and import it into your project. If you haven't already, also import Odin Inspector and Serializer into your project.\n\n### Why is Odin required?\nOdin allows for the serialization of dictionaries, which I make use of in the stat system. Due to this, I'm able to easily create an editor tool to modify the stats. I could've hacked it to use a list instead, but the tool wouldn't be as functional or look as good and the API wouldn't be as clean.\n\n## How does it work?\nThe stats are based on points. Many games come to mind: Elder Scrolls, Fallout, Mount \u0026 Blade, FTL, etc. There is also an option to have these points level up based on experience.\n\nTo start using, create a Stats Object in your assets. This is done by right clicking in your Project Pane and going to Create -\u003e Skill System -\u003e Stat Object. This creates a Stat asset that can be plugged into your characters directly or serve as a template as part of a Factory pattern (which the example in the project kind of does).\n\nRefer to the example Player.cs and StatSystem.cs under the Examples/Test folder. The example shows the usage of event handlers to get information from a stat and how you would go about using this system. You can test the functionality by double clicking the stats property on the Player object and using the inspector tools provided.\n\nI will go back later to perform some more code cleanup and extend the API a bit for StatSystem.cs to make event subscriptions easier.\n\n## Is this plug and play or ready for production?\nNo. The event system is not contained in its own namespace and the code could use some documenting. This was just a test project I've done in preparation for developing my next game. It is, however, a good foundation to build off of to get up and running.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWilsonCWong%2Ffrostwalk-stats-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWilsonCWong%2Ffrostwalk-stats-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWilsonCWong%2Ffrostwalk-stats-system/lists"}