Selact Plugin - Perform useful actions with selections

Selact Logo Available on Roblox

Selact is a plugin that allows developers to quickly perform tedious actions with selections. It eliminates the need to constantly use the explorer and properties widgets by utilizing a plugin menu with actions.

If you would like to better understand what the plugin can do, I’d highly recommend watching the overview section!


Plugin Overview

When you first install the plugin, you will need to bind a shortcut that opens up the plugin menu. This shortcut is what you will primarily use to run actions:

File > Advanced > Customize Shortcuts > Selact Actions

As for the actions, well there’s actually quite a bit packed into this plugin to the point where it’s hard to go over everything in detail. However, earlier this year I made an overview video for the plugin that goes over some of the main actions. You can find the video below.

The version of the plugin in the overview video is five version behind already! If you’re interested in knowing about newer actions and changes, I’d highly recommend taking a look at the version history of the plugin!


Actions

You can create shortcuts for any of the supported actions in the Customize Shortcuts menu. You can find this menu here:

File → Advanced → Customize Shortcuts → [Action Name]

Selact has a decent amount of supported actions that are more than most likely never going to be removed. You can find a list of those actions here:

Supported Actions List

Parent to Active Object

Parents the selected objects to the current active object. This is useful when you have a large hierarchy in the Explorer widget because you don’t need to do a bunch of scrolling and dragging to parent everything to the desired parent.

Replace with Active Object

Removes the selected objects and replaces them with a clone of the active object. If the active object and any of the selected objects are both a PVInstance, then the duplicated active objects with be pivoted to the selected object’s pivot. You can adjust their local rotations and positions after running the action if necessary. This is useful if you need to swap out an old tree model with a new one.

Link with Active Object

Clears the link type(s) from the selected objects and then copies the ones from the active object.

Link Types
  • Link Children
  • Link Attributes
  • Link Tags
  • Link All

Append from Active Object

Copies the append type(s) from the active object and gives them to the selected objects.

Append Types
  • Append Children
  • Append Attributes
  • Append Tags
  • Append All

Clear Selected Objects

Clears the clear type(s) from all the selected objects, including the active object.

Clear Types
  • Clear Children
  • Clear Attributes
  • Clear Tags
  • Clear All

Undo Selection

Changes the current selection to the previous selection. Useful for when you accidently deselect a bunch of instances by accident. There is a limit to how far you can undo the selection.

Redo Selection

Changes the current selection to the selection you had before you ran Undo Selection.

However, there are also actions which I like to call experimental actions. These actions are ideas that still need to bake in the oven, but are in a state where they may be useful to users of the plugin. By default, these actions are hidden. To unhide the actions, you must check the following setting:

Show Settings Widget → Show Experimental Actions

Once you have done that, you should have access to the experimental actions submenu. Here’s a list of current experimental actions:

Experimental Actions List
  • Copy from Active Object
  • Move to Active Object
  • Distribute Selection
  • Duplicate Selection
  • Reverse Selection

Screenshots


Version History

v1.0 → Plugin Released
v1.1 → Added three new actions called Link All, Append All, and Clear All
v1.2 → Added a new action called Replace With Active Object
v1.3 → Added a selection panel and action notifications
v1.4 → Added five experimental actions plus a new action called Repeat Previous Action
v1.5 → Added three experimental actions and swapped waypoints with recordings
v1.6 → Added two experimental actions and made adjustments to the user interface
v1.7 → Added a new adjustment option to Move to Active Object
v1.8 → Added three new adjustment options to Replace with Active Object

32 Likes

it’s spelled select, you may want to change it as selact is the incorrect spelling of it.

I doubt that he doesn’t know it already… pretty sure he meant to call it this way

4 Likes

just trying to make sure he knows.

Pretty sure it’s meant to be a portmanteau of “Select” and “Act“

5 Likes

Ah ok, that makes much more sense. Thank you for telling me.

Yes mate, I don’t think he managed to get through the entire development phase and not notice he spelt it wrong. Its a play on words.

5 Likes

This is a very creative and useful plugin! Thanks for the video explanation.

Can you specify what actions specifically? Like list all actions it can do?

The screenshots included in the initial post show what kind of actions it provides. In essence, the screenshot is a list of actions it provides. The overview video included in the initial post goes more in-depth about each action.

I’ve updated the original post to reflect the current state of the plugin. If anyone has any confusion surrounding any of the actions, feel free to let me know and I’ll see if I can clear that up. I’m also open to ideas and suggestions if you have any.

What’s New in 1.3

  • Added a panel to the viewport that displays the Active Object’s class and name
  • Added a reset to default button to all the options in the settings widget
  • Added a notification for when an action is ran or adjusted
  • Added a setting that toggles the active object panel
  • Added a setting that toggles the action notifications

Changes

  • Changed the hex component to limit the amount of characters from 9 to 6-7
  • Changed the icon for Append from Active Object to be unique
  • Removed the Output Active Object setting option

Fixes

  • Fixed a bug that involved being unable to undo certain actions
  • Fixed a bug where the plugin would error when selecting an object that was not accessible
  • Fixed a bug where the active object would be incorrect after undoing Replace with Active Object

Available on Roblox
3 Likes

What’s new in 1.4

  • Added an experimental action called Copy Children
  • Added an experimental action called Copy Properties
  • Added an experimental action called Copy Attributes
  • Added an experimental action called Copy Tags
  • Added an experimental action called Reverse Selection that reverses the order of the selection
  • Added an action called Repeat Previous Action that repeats the previous repeatable action
  • Added a dot to notifcations that indicates if the action is undoable with Ctrl + Z
  • Added an alert modal to the settings widget related to HTTP Requests and the Roblox API Dump
  • Added a new setting that shows the experimental actions sub menu in the plugin menu
  • Added a new setting that hides all irrelevant actions to the current selection in the plugin menu
  • Added a link to the Selact Plugin thread on the Roblox Developer Forum in the plugin’s settings widget

Changes

  • Changed the plugin menu to show disabled icons for when you cannot run an action
  • Changed the way actions are ran so that they only run when they can run
  • Changed the notifications to be sized based on their content
  • Changed the lifetime for notifications from 2 to 3 so they have more time to be read
  • Changed the action notifications to always show and be a little more descriptive
  • Changed the active sphere to have a constant size to match how the built-in draggers work
  • Changed the active sphere to be positioned at the active object’s pivot point
  • Changed the Selection Color setting’s name to Active Color
  • Changed the settings widget to feel more polished and roomy
  • Changed InitialDockState for the settings widget from Right to Float
  • Reworked how the plugin menus are handled so that they can show relevant actions only
  • Pressing Space while adjusting an action will apply your adjustments

Fixes

  • Fixed the plugin breaking whenever you tried to perform actions with an inaccessible object
  • Fixed a typo with the version label in the settings widget
  • Fixed notifications wrapping when they weren’t supposed to

Known Issues

  • At the moment, sub plugin menus don’t use disabled icons when all of their children actions are not runnable. The reason for this is because if I did change their icons, Roblox Studio would freeze for a quick second due to an issue, which is really bad UX. Hopefully that can change in the future.
  • When opening the Settings Widget for the first time in a session, it needs to be resized every time because it’s too large. This should be fixed once this DockWidgetPluginGui bug is fixed.

Like always, let me know if you run into any issues with the plugin. This update changed a large chunk of code, so there’s bound to be something I overlooked. However, I haven’t ran into any immediately noticeable issues.

I’d love to hear some feedback about the experimental actions. For example, do you find them useful? Do you think that they’re too niche to be useful and would cause bloat? Should they become a part of the plugin forever?


Available on Roblox
6 Likes

5800 robux for this plugin is INSANE. 5800 robux is roughly 60 DOLLARS. who would spend so much on a plugin?? i get it, you’re trying to make money off your work but this is quite overpriced literally. not even Moon Animator costs this much and is quite advanced. (1700 robux)


REPLY TO THE POST BELOW BECAUSE FORUM MODERATION DOES NOT LET ME REPLY

sorry, i haven’t looked on the robux prices since the inflation hit. it is about 70-80 dollars

70-80 dollars is still alot for a plugin. with this kind of robux you can buy 5-7 advanced and good ones.

thats 7 hours of work depending on where you live.

in other words, you have to respect peoples money and time. don’t just throw the plugin’s price at 5,800 robux just because people can earn that much. they worked hard for it.

and yes, i know you worked hard for this plugin too, but have you seen any other plugins pricing that high? I don’t think so.

that literally does not prove anything. like i have said above you have to respect peoples money and time. I would say that you could price this plugin for the maximum of 2200 robux which is still a fair price for a plugin. but 70-80 dollars? Absolutely not.

and people have been working for weeks to get 5,800 robux. All im saying is that you shouldn’t be pricing a plugin at 70-80 dollars. If you think thats disrespectful then i have nothing else to say.

if you want more income, i’d suggest trying something else. Plugin Development is not the main source for income. (for now atleast)

of course i know that im not the one deciding the price, im just trying to give advice.

Just because i don’t think in devex prices doesn’t mean im not a developer.

again, im trying to give you advice.

Im not trying to be disrespectful, i seriously appreciate all the work you put into this plugin!

Good Luck with your work, this will now be the last edit from me. (for real now)

4 Likes

I hate to break it to you, but this plugin is way less than $60. This plugin is made for experienced developers who earn robux and don’t buy them through Roblox. If you don’t easily earn enough robux to buy this plugin within a week, then this plugin probably isn’t for you. If you are someone who earns your robux on the platform, then the price of the plugin is $21 which only $14.70 goes to me. I’m not expecting anyone to purchase this plugin with robux bought with fiat, which would be >$50.

The fact that you keep calling this plugin >$50 tells me that you are probably not someone who makes enough robux on the platform to DevEx. If you were, then you would think of the DevEx value of the robux, which would be $21. I say this because that is what I always do when I buy a product with robux I have earned.

Once the Creator Marketplace moves to fiat prices and the 100% creator cut arrives, the plugin’s price will appear way more fair to you since you won’t have the opportunity to think of Roblox’s price for robux.

Saying that the price is not fair or not respectful in itself is disrespectful. I’ve spent weeks working on this plugin. I decide the price value of my time and my work, not you. If you were to pay someone to make this plugin for you, you would need to pay >$100, which is well over the price of this plugin. If you don’t find value in the plugin enough to pay its price tag, that’s okay, but you should move on instead of arguing that the price should be lower because that won’t magically lower the price.

Again, you keep missing what part was disrespectful. Claiming that I’m not being respectful of people’s time and money is ignorant and wrong. That’s dismissive of the work I’ve done and in turn you’re not respectful of my own time and effort. If you can’t understand that, then so be it. Just don’t forget that your first reply was aggressive by having multiple words in caps and you called the plugin overpriced. Not once in your original reply did you give advice. It also derailed the purposed of this thread.

You mention other plugins are priced lower as if I’m supposed to be competing with their low prices. The thing is, most plugins on the Creator Marketplace are underpriced. If you take a look at other program marketplaces, like Blender Market, you will find plenty of products priced at the same price point as this plugin.

This thread is not for debating the price of this and other plugins. But if you believe its current price is insane, then I can safely say you are not the target audience for this plugin.

6 Likes

Awesome plugin with useful features. As someone who HAS earned robux through Roblox, I just can’t find the usefulness:price ratio justifiable.

3 Likes

As the person who did all of the research for that pricing video, who has pored over census data and MIT studies, who has personally been in meetings about plugin marketplace dynamics for years trying to figure out how to make the whole thing work at all, good on you for bucking the trend and pricing the plugin reasonably. You and any other creator who are electing to pay yourself reasonably have my full support and the support of every developer I know of and have talked to.

When I asked David Baszucki about the prospects of allowing us to donate to our most used tooling creators just because we want to properly support their work, it was met with a room full of applause. That alone should show you that it is not just plugin creators who care about this sorry state of affairs. It’s a quiet majority. I’m grateful that you are giving us the opportunity to support your work properly.

My advice is to identify who you make these tools for and focus on serving them. It’s okay to have a specific level of professional in mind when you make something, especially if that helps you justify the ongoing cost of development.

14 Likes

What’s new in 1.5

  • Added an experimental action called Move to Active Object
  • Added an experimental action called Distribute Selection
  • Added an experimental action called Duplicate Selection

Changes

  • Changed the tuple component to match better how it would work in Blender in relation to drags
  • Changed the tuple component to cancel a drag when pressing MouseButton3
  • Changed the tuple component to always show their increment buttons when dragging
  • Changed the tuple component to darken the increment buttons when dragging
  • Changed the tuple component to use a new generic number component
  • Changed the selection list component used for the adjustment panel to set the selected state of drag selected items to match the start item’s selected state
  • Changed the plugin to use recordings instead of waypoints so that way Selact isn’t outdated with how it handles changes to the DataModel
  • Changed adjusting an action to be appended to the action’s first recording if applicable
  • Changed the name of the clear submenu from Clear from Selected Objects to Clear from Selection

Fixes

  • Fixed a bug involving default disabled icons not appearing when they should
  • Fixed a bug that stopped the current adjustment when opening the settings widget
  • Fixed a bug where the active object sphere didn’t update its location when undoing and redoing
  • Fixed the adjustment panel’s bottom padding being too large when the apply button was absent
  • Fixed the notification for Replace with Active Object showing as undoable even though it really wasn’t

Please let me know if you run into any issue with performing actions or undoing/redoing because I had to slightly restructure how I run actions so that Selact could use recordings instead of waypoints. I’m still unaware of all its behavior, but I think I’ve worked out the most obvious caveats that it has.

I’m trying out some more experimental actions that I think would be cool to have, but right now they feel a bit half-baked, especially Duplicate Selection. With that one, I think it’d be more useful if it was more similar to Blender’s Array modifier. That action in its current state would never make it as an official action. If you have any ideas on what would make it more complete, feel free to throw them out into the open.


Available on Roblox
4 Likes

Sorry to anyone that tried to use the plugin in the past 24 hours while testing in studio by running the game. I just published a fix (v1.5.4) for actions not working while the game was running. I overlooked recordings being unable to start while the game is in such a state. :sweat_smile:

Will we see a version of Selact distributed outside Roblox like on itch.io?

I would love to pay in USD instead of Robux since I pay less and creators earn.

  • On Roblox, creators earn less than 25% of the value of Robux. $100 → $24

  • Compared to the up to 96% creators can earn on itch.io. $100 → $96

All I see is that both the user and creator wins by allowing a cheaper product with higher earnings.