SOQ - Scene Objects Query
Forbidden Byte
$5.00
$10.00
50%OFF
Date |
Price |
---|---|
Date |
Price($) |
03/16(2018) |
10.0 |
07/16(2018) |
5.0 |
11/21(2024) |
5.0 |
Jump AssetStore
Join the discussion on Unity forum: Link
Ever wanted to find 1 or more GameObjects that meet such a complex condition that you immediately realized there can't be a built-in way for that particular case? Or simply wanted to select all the GameObjects that don't have a particular Component or a field of one of their component has a specific value?
Did you start writing your own editor script just for that?
Or worse, did you search for the GameObject(s) manually, in a scene with 1000+ GameObjects?
SOQ saves you hell of a lot of time by letting you conveniently construct arbitrarily-complex conditions (that can be saved for later use) and query the entire scene for GameObjects meeting their criteria.
Just a few examples: you can find what objects are visible to the camera, objects with a specific name, tag, position range, objects that have a null field, objects that DON'T satisfy a condition. The power of SOQ lies in the fact that you can nest conditions arbitrarily and also extend the built-in ones easily.
Core features
• Intuitive UI. Controls are conveniently placed for best user experience
• Select some scene objects to search in their hierarchies only, rather than in the entire scene
• Construct complex/nested conditions, easily add/remove conditions to/from anywhere in the query's hierarchy
• Expand/collapse certain conditions to save space, visually
• Immediately convert an OR chain to an AND chain by pressing on its name (presented as a button)
• Immediately negate a condition by pressing on its id (presented as a button)
• Separate search results panel
• Click search result to highlight in hierarchy, double-click to focus in the scene view, optionally(toggle) auto-select in scene view
• Optionally display an Inspector window for the selected search result(s) (independent from the main Inspector)
• Optionally Auto-save the query every few seconds for later use. The query is always saved when the scene is
• Deep Search: optionally search through the children of the selected objects (no objects selected means all of the scene's roots are selected)
• Works in Edit/Play mode
Built-in condition types:
• ANDedConditionsChain
• ORedConditionsChain
• WithName
• WithParentName
• WithComponent
• WithPropertyAdvanced (probably the most useful one): query a specific field in the GameObject itself or one of its components. For fields that can be compared with each other (e.g. ints, floats, Vectors, Bounds), you can specify a min/max value .
You guessed it, you can construct a very complex hierarchy of conditions (e.g. putting a chain inside another chain etc.)
The WithPropertyAdvanced will almost always meet your needs, yet you can write your own condition by extending QueryCondition - and it's very easy.
Full C# source code included
Roadmap:
- separate the query module from the editor GUI so it can be used on any device at runtime
- maybe provide more built-in conditions, but only essential ones, in order to keep the conditions drop-down clean