{"id":13663103,"url":"https://github.com/carreraSilvio/BrightStateMachine","last_synced_at":"2025-04-25T13:31:30.491Z","repository":{"id":59304859,"uuid":"260004558","full_name":"carreraSilvio/BrightStateMachine","owner":"carreraSilvio","description":"Unity FSM to control flow, menus, game objects and behaviours.","archived":false,"fork":false,"pushed_at":"2024-05-12T17:39:19.000Z","size":189,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-10T19:34:01.123Z","etag":null,"topics":["finite-state-machine","fsm","pushdown-automata","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/carreraSilvio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2020-04-29T18:08:42.000Z","updated_at":"2024-05-12T17:39:23.000Z","dependencies_parsed_at":"2024-11-10T19:31:42.850Z","dependency_job_id":"3a3cf63f-1ced-4b72-8908-0a3371d3e5b2","html_url":"https://github.com/carreraSilvio/BrightStateMachine","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carreraSilvio%2FBrightStateMachine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carreraSilvio%2FBrightStateMachine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carreraSilvio%2FBrightStateMachine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carreraSilvio%2FBrightStateMachine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carreraSilvio","download_url":"https://codeload.github.com/carreraSilvio/BrightStateMachine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250824949,"owners_count":21493369,"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":["finite-state-machine","fsm","pushdown-automata","unity"],"created_at":"2024-08-02T05:02:17.748Z","updated_at":"2025-04-25T13:31:27.846Z","avatar_url":"https://github.com/carreraSilvio.png","language":"C#","funding_links":[],"categories":["C\\#"],"sub_categories":[],"readme":"# Bright FSMs\n\n## FSM\n### Features\n* States: Have separate states to ease single responsability\n* Transitions: Change from one state to the other\n* OnEnter/OnExit: Run logic when entering and exiting a state\n* Composite States: \n\t* States that can act as parents to other states\n\t* Share their transitions with it's children states\n\t* Allows nesting of multiple levels\n\n## Pushdown FSM\n### Features\n* All previous features plus the one bellow\n* History: Push states on top of another allowing you to go back to previous state\n\n## LayeredFSM (tbd)\n### Features\n* Layers: Each layer consists of an independent FSM\n* Parallelism: FSMs will run in parallel\n* Broadcasting: FSMs can fire events that are broadcasted inside the LayeredFSM.\n\n## Prerequisites\nUnity 2018.3 and up\n\n## Install\n\n### Unity 2019.3\n1. Open the package manager and point to the repo URL\n\n![Imgur](https://i.imgur.com/iYGgINz.png)\n\n### Before Unity 2019.3\n\n#### Option A\n1. Open the manifest\n2. Add the repo URL either via https or ssh\n\n#### Option B\n1. Clone or download the project zip\n2. Copy the repo there inside your project's Assets folder","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FcarreraSilvio%2FBrightStateMachine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FcarreraSilvio%2FBrightStateMachine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FcarreraSilvio%2FBrightStateMachine/lists"}