Unity Pickers
Custom pickers for Unity game engine editor.
Asset Picker
Replacement for default object selection window that shows folders structure and enables filtering by asset path.
Enum Picker
Replacement for default enum selection popup. Allows filtering by value names.
Type Picker
Type selection button for your custom editors.
Features
- Smart search using multiple strings (space seperated, order matters).
- All pickers provide API to use in your editors.
- User-defined filters (in API).
- Asset Picker is faster than builtin.
- Asset browsing mode.
Getting Started
Installing
- Copy
Assets/UnityPickers
andAssets/Editor/UnityPickers
to your Unity project. - Asset Picker will be instantly enabled for
ScriptableObject
fields in user-defined types. - You can mark specific field with
[AssetPicker]
attribute to enable Asset Picker for it. - Enum Picker will be instantly enabled for all user-definded enum fields.
Preview
- Open bundled project in Unity (I was using 2017.1.1p4).
- Open
START_HERE
asset in inspector and hit object selection buttons near fields to open Asset Picker. - Click on enum value of
Monster Type
field to show Enum Picker. - STAR_HERE type is defined in
StartHereAsset.cs
. Threre are some field attributes. - Select
Tools/Asset Picker
menu or hitCtrl+Alt+Shift+O
to open Asset Picker in browsing mode.
Motivation
Unity Pickers are part of our toolset for Pathfinder: Kingmaker production. They are addressing following issues:
- Drag-and-dropping into object fields from Project View becomes less convenient as project grows. Searching for specific object is tiresome.
- 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.
- Default object selection window becomes incredibly slow on large projects.
- ObjectPicker API is clumsy :)
- Default enum selection popup lacks filtering by value names.
- Our component system and visual scripting tools need control for type selection (similar to 'Add Component' for Game Objects).
Authors
- Vasily Boldyrev - Owlcat Games
- Alexey Drobyshevsky - Owlcat Games
- Alexander Chernyakov - Owlcat Games
- Alexander Sokolenko - Owlcat Games
Licence
This code is distributed under the terms and conditions of the MIT license.