{"id":13663952,"url":"https://github.com/vasyab/UnityPickers","last_synced_at":"2025-04-25T20:31:48.671Z","repository":{"id":221795730,"uuid":"117147090","full_name":"vasyab/UnityPickers","owner":"vasyab","description":"Value selection controls for Unity game engine editor.","archived":false,"fork":false,"pushed_at":"2018-02-08T16:06:31.000Z","size":97,"stargazers_count":33,"open_issues_count":2,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-10T21:43:06.714Z","etag":null,"topics":["editor-extension","unity","unity3d","workflow"],"latest_commit_sha":null,"homepage":null,"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/vasyab.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}},"created_at":"2018-01-11T20:00:40.000Z","updated_at":"2023-12-14T16:59:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"004a42ff-e3ab-4f66-a5fd-f67a992839d8","html_url":"https://github.com/vasyab/UnityPickers","commit_stats":null,"previous_names":["vasyab/unitypickers"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasyab%2FUnityPickers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasyab%2FUnityPickers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasyab%2FUnityPickers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasyab%2FUnityPickers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vasyab","download_url":"https://codeload.github.com/vasyab/UnityPickers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250890568,"owners_count":21503517,"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":["editor-extension","unity","unity3d","workflow"],"created_at":"2024-08-02T05:02:41.917Z","updated_at":"2025-04-25T20:31:48.199Z","avatar_url":"https://github.com/vasyab.png","language":"C#","funding_links":[],"categories":["C\\#"],"sub_categories":[],"readme":"# Unity Pickers\n\nCustom pickers for Unity game engine editor.\n\n### Asset Picker\n\n  \u003cimg src=\"docs/pictures/asset_picker.png\"\u003e\n\nReplacement for default object selection window that shows folders structure and enables filtering by asset path.\n\n### Enum Picker\n\n  \u003cimg src=\"docs/pictures/enum_picker.png\"\u003e\n\nReplacement for default enum selection popup. Allows filtering by value names.\n\n### Type Picker\n\n  \u003cimg src=\"docs/pictures/type_picker.png\"\u003e\n\nType selection button for your custom editors.\n\n### Features\n* Smart search using multiple strings (space seperated, order matters).\n* All pickers provide API to use in your editors.\n* User-defined filters (in API).\n* Asset Picker is faster than builtin.\n* Asset browsing mode.\n\n## Getting Started\n\n### Installing\n\n1. Copy `Assets/UnityPickers` and `Assets/Editor/UnityPickers` to your Unity project.\n2. Asset Picker will be instantly enabled for `ScriptableObject` fields in user-defined types.\n3. You can mark specific field with `[AssetPicker]` attribute to enable Asset Picker for it.\n4. Enum Picker will be instantly enabled for all user-definded enum fields.\n\n### Preview\n\n  \u003cimg src=\"docs/pictures/start_here.png\"\u003e\n\n1. Open bundled project in Unity _(I was using 2017.1.1p4)_.\n2. Open `START_HERE` asset in inspector and hit object selection buttons near fields to open Asset Picker.\n3. Click on enum value of `Monster Type` field to show Enum Picker.\n4. STAR_HERE type is defined in `StartHereAsset.cs`. Threre are some field attributes.\n5. Select `Tools/Asset Picker` menu or hit `Ctrl+Alt+Shift+O` to open Asset Picker in browsing mode.\n\n## Motivation\n\nUnity Pickers are part of our toolset for [Pathfinder: Kingmaker](https://owlcatgames.com/) production. They are addressing following issues:\n* Drag-and-dropping into object fields from Project View becomes less convenient as project grows. Searching for specific object is tiresome.\n* Default object selection window doesn't show folder structure and doesn't allow to filter by folder names. It is crucial to make full use of folders structure when you have many files.\n* Default object selection window becomes incredibly slow on large projects.\n* [ObjectPicker API](https://docs.unity3d.com/ScriptReference/EditorGUIUtility.ShowObjectPicker.html) is clumsy :)\n* Default enum selection popup lacks filtering by value names.\n* Our component system and visual scripting tools need control for type selection (similar to 'Add Component' for Game Objects).\n\n## Authors\n* [**Vasily Boldyrev**](https://github.com/vasyab) - _Owlcat Games_\n* [**Alexey Drobyshevsky**](https://github.com/Cotoff) - _Owlcat Games_\n* **Alexander Chernyakov** - _Owlcat Games_\n* **Alexander Sokolenko** - _Owlcat Games_\n\n## Licence\n\nThis code is distributed under the terms and conditions of the MIT license.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvasyab%2FUnityPickers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvasyab%2FUnityPickers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvasyab%2FUnityPickers/lists"}