Selection Pattern Saver : USEFUL Plugin for Studio

:bullseye: Selection Pattern Saver – Plugin for Roblox Studio

Overview

Do you constantly reselect the same parts when working with viewmodels, rigs, or complex models in Studio?
This plugin lets you save and load custom selection patterns with a single click.
Stop wasting time manually reselecting every part; Just save it once and load it anytime.


:sparkles: Features

  • :white_check_mark: Save Current Selection – instantly capture your selected parts.
    image

  • :white_check_mark: Name Your Patterns – organize multiple selection sets.

  • :white_check_mark: Load Saved Patterns – reselect parts automatically with one click.
    image

  • :white_check_mark: Delete Patterns – clean up old or unused selection sets.

  • :white_check_mark: Easy UI – Clean and read-able.

  • :white_check_mark: Persistent Storage – your patterns are saved between Studio sessions.


:open_book: How to Use

  1. Install the plugin (link below).
  2. Open the Patterns window in the Plugins tab.
  3. Select any parts in Studio and click Save Current Selection.
  4. Name your pattern when prompted.
  5. To reload a saved pattern later, click its button in the list.
  6. Click the garbage icon of a pattern to delete it.

:inbox_tray: Install Plugin

:backhand_index_pointing_right: Plugin Link


Notes

  • Works great for viewmodels, rigs, terrain pieces, or any reusable selection group.

:warning: Limitations / MUST KNOW

  • Saved selections are stored by part names in their hierarchy.
  • If you have multiple parts with the same name (e.g. two Workspace.Part objects), the plugin may not select them correctly.
  • To avoid this, make sure your parts have unique names before saving a pattern.

:books: Update Logs

Please ensure you have auto-update for the plugin enabled to stay up to date!

  • 2nd Version: Added a settings option that allows you to toggle Skip Naming process, use and edit shortcuts for creating and selecting patterns!
    image

I appreciate you for reading this post & using my plugin!

4 Likes

What a genius plugin idea. I was working with view model rigs earlier today and got annoyed of having to select the same things over and over again. This will help a ton! 10/10 plugin!

1 Like

I think this could be useful for our studio when we import vehicles, a lot of operations to be done on every part - thanks for this.

Do you think it would be possible in future to add perhaps a quicksave/quickload keybind? Select the parts you’re working on, hit the Quicksave keybind to temporarily hold it in memory (skipping the naming process), Quickload keybind to load it back into selection?

1 Like

Wow, that’s such good timing. I was just thinking about making this plugin today, thank you!

Do you think it’d be possible to use GetDebugId for the session, but save it using the name/path? Using GetDebugId will allow you to differentiate between similar instances (only for the session; once you reopen the place it will change all debug IDs).

Or do you think that’d be a bit weird? It works as expected for that session, then may be not what’s expected the next. In theory I guess you could add a button to like “relink debug IDs” or something.

Anyway, awesome work!

That’s a great idea! I didn’t think about quick workflows like that but it makes sense, especially for repetitive tasks like multiple vehicle models. I’ll look into adding a temporary quicksave/quickload option so you can skip the naming step.
Thanks for the suggestion! Will be working on it soon.

Update: I was able to get it to work as you said, it’s however quite buggy but I should be able to fix it some time later.

1 Like

I’ve thought about this; However, I realized that if we did use DebugIds, pattern selections won’t properly save if you close or reopen a place since all DebugIds reset each session.

That said, a possible approach would be to save both DebugId (for accurate selections within the same session) and FullName (for persistence across sessions). On load, the plugin could check for DebugId first, and if it’s invalid, fall back to FullName.

I’ll try experimenting with this method in the next version to see if it improves reliability.