Skip to content

bwaynesu/BComponentComparator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BComponentComparator

Release Version Release Date
Unity Version License Twitter

Stop switching between Inspector windows.
Compare and edit multiple Unity objects side-by-side, spot inconsistencies instantly, and maintain quality across your entire project — all in a single, synchronized view.

Preview

Why BComponentComparator?

Ever found yourself:

  • Clicking between dozens of GameObjects to check if their settings match?
  • Copy-pasting Component values one by one across multiple objects?
  • Missing subtle differences in Material properties that break visual consistency?
  • Wishing you could see all your ScriptableObject data side-by-side?

Your workflow shouldn't be limited by that.

BComponentComparator gives you a parallel view of multiple Inspectors, letting you compare, edit, and synchronize objects effortlessly.

Ideal for:

  • Level Design: Compare dozens of spawners to ensure consistent difficulty.
  • Visual Consistency: Line up Materials to verify shader parameters match.
  • Data Management: Review multiple ScriptableObject configs simultaneously.
  • Bulk Editing: Copy-paste values across objects in seconds.

How It Works

Two easy ways to start:

  1. Drag & Drop: Drag a Component/Asset to define the type, then drag objects into the list.
  2. Context Menu: Right-click any Component in the Inspector and select "Add to Comparator".

View and edit all Inspectors side-by-side with full Unity editing support.

Features

  • Drag-and-Drop Interface: Intuitive drag-and-drop to specify object type and add objects to compare DragDrop-optimize

  • Side-by-Side Comparison: View multiple Unity Inspectors in parallel columns for easy visual comparison

  • Flexible Object Selection: Support for almost any Unity object type including Components, ScriptableObjects, Materials, Textures, Audio Clips, and more AssetTest-optimize

  • Native Inspector Support: Uses Unity's native Inspector rendering, ensuring full editing capabilities including:

    • Undo/Redo
    • Copy/Paste Component Values
    • Custom Inspectors (including third-party tools like Odin Inspector)
    • All field types and widgets

    CopyPaste-optimize

  • Inheritance Selector: Drag a component and use the dropdown to select a base type (e.g., drag BoxCollider, select Collider, then compare with SphereCollider) Inherit-optimize

  • Reorderable List: Drag items in the list to reorder, with Inspector columns updating in real-time

  • Multi-Selection Sync: Select multiple items in the list to highlight them in the Unity Editor

  • Context Menu Integration: Right-click any Component or asset in the Inspector and select "Add to Comparator" to quickly add it to the comparison list ContextMenu-optimize

Requirements

  • Unity 2022.3 LTS or later
  • UI Toolkit support

Installation

  1. Unity Package Manager

    • Open Window > Package Manager
    • Click + > Install package from git URL...
    • Enter: https://github.com/bwaynesu/BComponentComparator.git?path=Project/Packages/BComponentComparator
  2. Manual Installation

    • Download the latest .unitypackage from the Releases page
    • In Unity, double-click the .unitypackage or use Assets > Import Package > Custom Package... to import

Usage

Basic Workflow

  1. Open the Window: Go to Window > BTools > BComponentComparator
  2. Specify Object Type:
    • Drag a Component from the Scene/Hierarchy onto the "Drag Component type here..." field
    • (Optional) Use the "Use Type" dropdown to select a base class (e.g., Collider) for polymorphic comparison
    • Or drag a MonoScript (.cs file) from the Project window
    • Or drag any Unity asset (ScriptableObject, Material, Texture, Audio Clip, etc.)
  3. Add Objects to Compare:
    • Drag GameObjects from the Hierarchy into the list (must have the specified Component)
    • Or drag any matching asset type from the Project window
    • Multiple objects can be dragged at once
  4. Compare and Edit:
    • View Inspectors side-by-side in the right panel
    • Scroll horizontally to see more columns
    • All Inspectors scroll vertically in sync
    • Edit values directly in any Inspector
    • Use right-click menu to copy/paste Component values

Advanced Features

Reordering Items

  • Click and drag items in the list to reorder them
  • Inspector columns update immediately to match the new order

Multi-Selection

  • Hold Ctrl/Cmd to select multiple items
  • Selected items are highlighted in both the list and Inspector columns
  • Unity's Selection is synced with your list selection

Adjusting Column Width

  • Use the "Inspector Width" slider to adjust all column widths simultaneously

Multi-Row Layout

  • Use the "Row Count" slider to stack Inspector columns vertically
  • Useful for comparing many objects on a single screen without excessive horizontal scrolling

Using Context Menu

  • Right-click any Component or asset in the Inspector
  • Select "Add to Comparator" from the context menu
  • The Comparator window will open (or focus if already open)
  • The object's type will be automatically set, and the object will be added to the list
  • Perfect for quickly comparing multiple instances of the same type

Customizing Display Mode

If an Inspector displays incorrectly or appears empty compared to Unity's default Inspector:

  1. Select the object type by dragging it to the top field
  2. Try different display modes using the "Display Mode" dropdown:
    • Element: Default rendering (fastest, but may miss some asset types)
    • Editor: Full IMGUI rendering (best compatibility for Materials, Fonts, Textures)
    • EditorThenElement: Hybrid approach (useful for Shaders and complex assets)
  3. Settings persist automatically — once configured, the mode is remembered for that object type
  4. Manage settings in Edit > Project Settings > BComponentComparator

Pre-configured types:

Type Display Mode
DefaultAsset Editor
Texture2D Editor
Font Editor
AssemblyDefinitionAsset Editor
InputActionAsset Editor
Shader EditorThenElement

Removing Items

  • Hover over a list item to reveal the × button, click to remove
  • Or hover over an Inspector column header to reveal the × button
  • Or click the "Clear List" button to remove all items at once

Advanced Workflow: Comparing Multiple Component Types

Sometimes you need to compare different components on the same objects simultaneously (e.g., checking both Transform and Collider settings).

  1. Drag any component to the type field, then select Component from the "Use Type" dropdown (the base class for all components).
  2. Set Row Count to 2.
  3. Drag the Transform and Collider from each object into the list.
  4. Arrange them so all Transforms are in the first row and Colliders in the second row.

Now you can inspect the position/rotation alongside the collider size for every object in a single view.

MultiRow-optimize

Known Limitations

  • Some asset types may require Display Mode adjustment for proper rendering (see Display Mode Customization above)

Under Evaluation

Features being considered for future releases:

  • Session Persistence: Save and load previous comparison sessions (type and list items)

License

This project is under the MIT License.

Author

Links

See Also


BComponentComparator — Spot inconsistencies, bulk adjust settings, and save hours!

About

A Unity Editor tool for comparing multiple Unity objects side-by-side in a single window. Supports GameObjects, Components, ScriptableObjects, Materials, Textures, Audio Clips, and more with full Inspector editing capabilities.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages