Component Manager
Features:
• Full functional component copier from one object with children hierarchy to many target objects (Paste as is, paste value, etc).
• Copy many components to many target objects by one click.
• While copying components it will automatically find or create children hierarchy in target objects.
• COPY LOCAL REFERENCES! While copying components with local references it will find and set same references in target objects.
• Useful toolbar with detail options:
– Full Name – Show components with full name.
– Instance Ids – Show instance ids.
– Context Menu – Show shortcut of context menu for components.
• Dynamic component search. Search components in scene and in project files by write part or even one letter of component’s name.
• If you click on found component it will focus in hierarch, project and scene window.
• All operation methods used in Component Manager are in static class and can be use in your editor code.
• Extra tool Component Organizer for clean and organize inspector with many components. Set visibility, editable and enable flags for all components in one place.
Component Manager allows you to copy many components from one object to many target object by one click. To draw editor window it used build-in Tree View (like in hierarchy window) and you can easily explore objects hierarchy for looking for components you want.
Unique feature of this asset is copying components and then redirect its local references to target’s components. If you copy component with variable which contain local reference (reference to child’s component) in traditional way and then paste it to another object, the pasted component will have reference to same object as source object. In Component Manager it is solved with System.Reflection. If you copy component with local reference and paste it to another object, the pasted component will try recreate path to local reference in own hierarchy and replace object by its own local reference. After copy and replace local references you can print log to console with process summary. Additional if you copy some children components and paste it to another object, Component Manager will find or recreate children in same local hierarchy as in source object.
Next main feature is Dynamic Components Search. With this tool you can fast and easily find all components you want in open scenes and/or in project files. Search will start looking for components if you write part of name or even one letter in search text field. Select owner object in hierarchy or project window and focus camera in scene window by double click on component in any tree view. Toolbar with options for detailed object naming helps you to identify more precisely copied components. Full Names display namespaces and Instance Ids display unique ids for all components. Third toolbar option is context menu shortcuts and it allows you to faster copy/paste components like in inspector.
In my case I can’t imagine working with a large project without using Component Organizer. It allows you to hide/show, set editable and enable/disable any component in object. It’s really necessary if your objects have a lot of components or if you want to prepare components parameters and lock them from accidental editing.
All methods used in Component Manager, Dynamic Search and Component Organizer is located in static public class and these methods can be use in any other editor scripts in your project.