Descendant Viewer

image Descendant Viewer

This plugin allows you to see all of the descendants of your current selection, and either select them, or delete them. This tool is meant to save you time in various niche situations.

This is powerful because you can quickly and easily:

  • Delete all of the scripts from a free model.
  • Delete Decals and Textures from models so you can migrate to custom materials.
  • Delete unnecessary instances (e.g. Motor6D, ValueBase, etc.) in ViewportFrame models.
  • Select all of a particular instance to bulk-edit.
  • Select and expand all of the descendants in the Explorer that are a particular type.

And more!

Usage

To use this plugin, select one or more instances with descendants, and press the button in the plugins toolbar.

The plugin will open a window that shows all of the descendants of your selection by their class, and how many of them there are. If you press the button again while the window is already open, the window will be updated to your current selection.

You can also configure this so that it shows up in your Quick Access Toolbar, or create a hotkey using built-in Studio features.

To-do

  • Dropdown for each class that shows the individual instances of that class.

This plugin is a passion-fueled rewrite of: SteadyOn's Instance Scanner

26 Likes

The plugin is pretty cool so far, something very convenient I didn’t realize I would want until I saw it.
There are a few minor nitpicks that I think could be improved

  1. The minimum widget width feels a bit large, I don’t know if this is a limitation of plugin api, but I feel like it could be reduced.

  2. It feels a bit un-intuitive that I have to re-select the descendant viewer plugin to update its contents to the selected object(s).
    :
    It feels like it should just always show the descendants of the selected object(s), though I can see this causing a lot of unnecessary widget updates, perhaps there exists a happy medium by having some toggle for “always update”.
    :
    This way pressing the plugin button would just open/close the widget like you would expect from most other widgets.

  3. Minor request, you could put a counter somewhere on the UI to show the total descendants that are being selected by the widget

4 Likes

Useful. But how about a feature that removes all descendants with a specific name?