Easy Select enables the user to select objects in a declarative rather than imperative manner. Normally the user must look through the hierarchy or results of a hierarchy search and select objects manually. With Easy Select the user ‘describes’ what they would like to select by manipulating the criteria of a filter then specifying a context.
Say you have a Room object with various lights spread throughout the child object tree. Selecting all the lights in the room is as simple as selecting Room then applying a filter targeting Light components to the deep children of the active selection.
Want to mess with the intensity value of each Light in your selection? Go to the Bulk Inspector, target Light components, then target the Intensity property. Controls for the intensity from each Light in the selection will appear in a column.
Details
Filters
Below is the default filter, it contains only some of the possible criteria (described further below). It is meant to be used as an easy go-to window sufficient for most filtering needs.

Also present are custom filters, the user may add critera to it as they please. Want to select objects that have two particular components? No problem, just add two component name criteria. Or add ten of them, fill commonly desired component names out, and toggle them on/off as needed.
Quick Selection Windows
There are a few of these windows implemented currently, the most significant being the Saved Filters window. Find yourself wanting to make the same kind of selection over and over? Create and save a filter and re-use it in varying contexts.

The Transform Relation and Prefab quick selection windows.

Bulk Inspector
Target specific components or properties across multiple GameObjects

Criteria
Criteria are inserted into Filters and determine which GameObjects pass through the filter.
(Currently implemented)
- Active State (Active In Hierarchy, Active Self, ect.)
- Component or MonoScript (Can be left null to select objects with missing components, can allow selecting of subclasses)
- Layer Mask/Tag Mask
- Single Layer/Single Tag
- Component Name
- GameObject Name
- Prefab Match (Can also assign a object from inside of a prefab to select that instead of the root)
- Prefab Status (Is/Is Not prefab)
- Prefab Type (Unity’s built in PrefabType)
- Transform Relation (Is the criterion parallel of the “In Active Selection’s” menu item)
Ideas Moving Forward (NOT IMPLEMENTED)
Sub-Hierarchies
- Would be possible to open with a selection or a filter. If opened with a filter the context would be saved allowing for updating when the Hierarchy changes.
- The object tree could be collapsed instead of flattened. (Ex. A is the parent of B which is the parent of C, A and C are sent to a Sub-Hierarchy → C will appear to be the direct child of A, B will not be present at all). This would allow for isolating important portions of the hierarchy while preserving the relative structure.
Criteria
- Transform variables (Position, Scale, Rotation) (x,y,z) (>, <, >=, <=, ==, !=)
- Serialized Property Name + Value (Could be pretty interesting)
- Passes Saved Filter (Would allow for combining filters)
Quick Selection Windows
- Tags
- Layers
Other
- Compound Filter (Allowing the user to get objects obeying Filter || Filter ect, not sure how useful that would be, at least at this point in time)
- Customize-able hotkeys (If enough people want this) (Would be just for saved filters at first probably)
- Add results of filter to active selection using active selection contexts (instead of only from the entire scene)
This will be my first Asset Store package, I hope you guys find it interesting! Thoughts and suggestions would be greatly appreciated! I hope to have something submitted shortly after the holidays. Pricing suggestions welcome too.