{"id":24894786,"url":"https://github.com/owmacohe/penchant","last_synced_at":"2026-02-22T21:11:03.220Z","repository":{"id":275309265,"uuid":"925696536","full_name":"Owmacohe/Penchant","owner":"Owmacohe","description":"A simple and elegant seeded random number generator for Unity","archived":false,"fork":false,"pushed_at":"2025-02-13T23:24:11.000Z","size":102,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-25T10:37:56.891Z","etag":null,"topics":["plugin","plugins","random-number-generation","random-number-generator","random-number-generators","seeded-random","seeded-random-number-generator","tool","tools","unity","unity-plugin","unityplugin","unityplugins"],"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/Owmacohe.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-02-01T14:19:37.000Z","updated_at":"2025-03-29T03:50:22.000Z","dependencies_parsed_at":"2025-02-01T16:22:10.708Z","dependency_job_id":"8cf73132-7919-4f24-bfd6-2e7b06d037bb","html_url":"https://github.com/Owmacohe/Penchant","commit_stats":null,"previous_names":["owmacohe/penchant"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Owmacohe/Penchant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Owmacohe%2FPenchant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Owmacohe%2FPenchant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Owmacohe%2FPenchant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Owmacohe%2FPenchant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Owmacohe","download_url":"https://codeload.github.com/Owmacohe/Penchant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Owmacohe%2FPenchant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002964,"owners_count":26083488,"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":["plugin","plugins","random-number-generation","random-number-generator","random-number-generators","seeded-random","seeded-random-number-generator","tool","tools","unity","unity-plugin","unityplugin","unityplugins"],"created_at":"2025-02-01T19:14:33.601Z","updated_at":"2025-10-10T06:16:46.292Z","avatar_url":"https://github.com/Owmacohe.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"![License: MIT](https://img.shields.io/badge/License-MIT-yellow)\n![GitHub stars](https://img.shields.io/github/stars/owmacohe/penchant)\n![GitHub downloads](https://img.shields.io/github/downloads/owmacohe/penchant/total)\n\n![Penchant logo](Media/Logo/Penchant_Logo_200.png)\n\n# Penchant\n\n*pen • chant*\n\n\u003e 1. a strong or habitual inclination.\n\u003e 2. a tendency to do something.\n\u003e 3. a taste or liking for a person or thing.\n\n## Overview\n\n**Penchant** is a simple and effective random number generation plugin. Random number generation is integral to video game development, from item drops, to terrain generation, to procedural soundscapes. Sometimes, consistency of random numbers is necessary either for testing, balance, or reproduction purposes. **Penchant** aims to provide a simple solution to both generate and reliably reproduce seeded random values.\n\n## Installation\n\n1. Install the latest release from the [GitHub repository](https://github.com/Owmacohe/Penchant/releases), unzip it, and place the folder into your Unity project's `Packages` folder.\n2. Return to Unity, and the package should automatically be recognized and visible in the **Package Manager**.\n3. A sample scene can be found at: `Penchant/Example/Example.unity`.\n4. Opening this scene may prompt you to install **Text Mesh Pro**. Simply click on **Import TMP Essentials** to do so.\n\n## Usage\n\n1. To begin generating random numbers, simple create a new `SeededRandom` object with your desired seed, and get the object's `RandomValue`. Your seed can be any string.\n2. You may wish to create multiple `SeededRandom`s if you have multiple systems in your game *(e.g. a random enemy spawn system and a random item reward system)*\n3. The `SeededRandom` class comes with other methods for generating useful random object types *(e.g. `RandomRange`, `RandomVector3` `RandomRotation`)*\n4. If at any time you want to reset a `SeededRandom`, so that it starts generating numbers from the beginning again, simple use `SeededRandom.Reset()`.\n5. Lastly, to preview seeds and their distributions, use the `Penchant Visualizer`, which can be accessed in the menu bar via `Penchant/Visualizer`.\n\n**Example:**\n```C#\nvar enemySpawnSeededRandom = new SeededRandom(\"enemies\");\nvar itemDropSeededRandom = new SeededRandom(\"items\");\n\nfor (int i = 0; i \u003c enemyCount; i++)\n{\n    EnemyController enemy = Instantiate(\n        enemyPrefab,\n        enemySpawnSeededRandom.RandomVector3 * arenaSize,\n        enemySpawnSeededRandom.RandomQuaternion);\n    \n    enemy.itemDrop = itemDropSeededRandom.RandomEntry(itemDrops);\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowmacohe%2Fpenchant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fowmacohe%2Fpenchant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowmacohe%2Fpenchant/lists"}