Selact Plugin - Perform useful actions with selections

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.

I don’t have any plans to move Selact to a different marketplace. The reason for this is because the creator marketplace will be transitioning to fiat and 100%* revenue share at the beginning of next year. It won’t be that much longer before the plugin can be bought in USD.

What’s new in 1.6

  • Added an experimental action called Select Descendants
  • Added an experimental action called Wire to Active Object

Changes

  • Changed how math expressions are evaluated in the adjustment panel
  • Changed some setting widget components to update the mouse’s icon when hovering
  • Changed the number component to have the text align to the left when focused
  • Changed the alignment and size of the adjustment panel checkbox component

Fixes

  • Fixed the color of the borders for some of the adjustment panel components
  • Fixed the apply adjustment button’s color for light theme

This update is a small one, but it introduces two new experimental actions that I personally have been wanting recently. A common setup I have with my models is nested models with parts that all have the same properties. To select all of those parts, I usually need to use a convoluted method. That’s one of the motivations for adding Select Descendants. As for Wire to Active Object, that action becomes extremely useful when manually wiring together the new audio instances. If you’re not familiar with them, that’s because they haven’t officially released. You can learn about these upcoming audio instances here.

As you may notice, there’s been a pattern for the most recent updates to Selact. I’ve been making quite a bit of experimental actions, but I haven’t added any new actions that aren’t considered experimental. This is partially due to the fact that I’m not quite sure what I want to do with new actions. Obviously I could just put them wherever I see fit. However, I’m pretty sure the action menu will become bloated if I do that. A solution I’ve considered is creating a widget that allows you to enable and disable certain actions in the action menu. That definitely sounds like a better solution than hiding most actions under an experimental actions submenu, but I’m not sure if that’s the right one.

I just wanted to throw that out there to let you know that I have indeed been thinking about the plugin these past few months. I’m just not sure what route I want to take with it.


Available on Roblox
1 Like

What’s new in 1.7

  • Added a new adjustment option called Move Pivot Offset to the Move to Active Object action

Changes

  • Changed the error notification to include a red dot

Fixes

  • Fixed Copy Attributes not properly working
  • Fixed a weird parenting bug when trying to replace nested selected instances
  • Fixed the Replace with Active Object action not working with instances that aren’t a PVInstance

I was hoping to have this be a normal-sized update, but I found a really bad bug with Replace with Active Object. Due to that bug, I have decided to publish all the changes that I have currently made as a small update.

The new adjustment option for Move to Active Object is really useful in cases where you want to adjust the pivot offset for a model or for a part to match the pivot of a different instance. For example, if you were working on a circular table, you might want to adjust the pivot offset of the legs to match the middle of the table so you can rotate the legs in a circle. Doing such a task can be tricky and that’s why this adjustment option was added.


Available on Roblox
1 Like

What’s new in 1.8

  • Added a Keep Attributes option to Replace with Active Object action that will allow you to keep the attributes of the objects being replaced
  • Added a Keep Names option to Replace with Active Object that will allow you to keep the name of the objects being replaced
  • Added a Keep Tags option to Replace with Active Object that will allow you to keep the tags of the objects being replaced

Changes

  • Changed the sensitivity for the adjustment sliders for Replace with Active Object
  • Changed the font used from Montserrat to Builder Sans because Gotham is no longer available
  • Changed how the active object sphere is updated so that it’s synced better with the actual position of the active object

Fixes

  • Fixed a typo with for one of the settings
  • Fixed the selection actions being cancelled when they weren’t supposed to
  • Fixed the settings widget not properly responding to small widget sizes
  • Fixed the Move to Active Object action not moving Camera instances

I did not have Gotham being converted to Montserrat on my bingo card. I apologize it has taken me a while to get around to updating the font to be Builder Sans instead. Alongside that change, I’ve made some improvements as well as some bug fixes. You may notice that I’ve changed the Replace with Active Object action a tiny bit and I’m still deciding if I need to make a change to that change. I’m thinking that I might need to put those three new options under an expandable section.

I’ve also been thinking about making a new video for the plugin showing off all that the plugin has to offer since a lot has changed since the first version.


Available on Roblox