[PLUGIN] Acecool™ - Studio Bookmarks -- Currently Free

Acecool™ - Studio Bookmarks - Creator Store

Studio Bookmarks is a professionally developed plugin designed to help navigate your experience files within Studio Explorer and solve the problem of “Where is it” and "I updated Studio, now I have to re-navigate to my existing projects in multiple structures depending on client / server / shared ).

Screenshots






Features

  • Bookmark anything in Explorer with Quick-Actions based on the bookmarked instance type
  • Per-Experience Per-User Bookmarks so each collaborator can work on their own projects within your experience and have their own bookmarks. All are accessible under ServerStorage.PluginData.Server Bookmarks
  • Jump to bookmarked elements
  • Toggle Visibility of bookmarked elements ( GUI )
  • Run Scripts ( Bookmarks or selected elements within Explorer )
  • Re-Parent Elements ( and Copy+Replace Into for fast Plugin GUI Development )
  • Filter Scripts ( All scripts within bookmarked element, or all scripts in everything you have selected in Explorer )
  • Toggle Locked State of BaseParts within your bookmark
  • Save / Load Bookmark Lists ( So you can have multiple projects in your experience, ie Inventory System bookmarks can be separate from other systems )
  • Undo / Redo Support built-in for most actions
  • Roblox Studio Theme Support with live updating between Light / Dark
  • Roblox Studio Icons which support light / dark themes to ensure everything is legible!
  • Animated UI - Panels that slide in and out, rows that expand, buttons that give an indication of what is happening

Questions and Answers

Do you have any potentially planned features for the future?

Potentially Planned

  • Drag and drop for reparenting; right now it is click to reparent, shift click to copy+replace into
  • Drag and drop re-ordering of bookmarks ( Right now it is push button )
  • Zoom System ( UIScale creator and editor with simple click controls for bookmarked elements )
  • Toggle Locked for the plugin actionbar targeting selected objects in Explorer
  • Toggle Visibility for the plugin actionbar targeting selected objects in Explorer
  • Plugin Settings - Right now it is unpopulated
  • Potentially more Quick Actions based on type. I am considering adding support for Resetting the workspace camera, and potentially other things.
  • Potentially a Hot-Swap system for saves. Instead of opening the save / load menu, which will be just a click to swap to that list, a plugin actionbar button to quickly swap between 2 lists; your currently loaded one, and the one in the hot swap slot. Not sure if this is necessary because the save-load system is a click to open, and a click to load.
Are there any known bugs?
  • If you bookmark Workspace, the lock icon will appear but it will only act as “Unlock All” regardless of basepart status.
  • Once installed, you may need to close and re-open the place for the widget to initialize properly.
Did you use AI?
  • The code is handwritten.
  • The in-widget icons are made by Roblox.
  • The Plugin icon is also made by Roblox
How do I Get Started?

Install the plugin from the creator store: https://create.roblox.com/store/asset/74598528232571
I would recommend bookmarking it and then you can easily find it to install in Roblox Studio Toolbox.

Once installed, you may need to close and re-open the place for the widget to initialize properly.

First, make sure you open the widget. To do this you can navigate to the Plugins Ribbon at the top of explorer, or create a new one and add the Studio Bookmarks Tool by right clicking > Add Tool > Search for Studio Bookmarks and select it, then clicking on the Studio Bookmarks Icon.

Next, to get started using, simply select elements within Explorer and click the Bookmark icon at the bottom right of the plugin. You’ve now added bookmarks! You can click, and double-click on them to navigate. I would also recommend reading the Help Panel to see what each action does, the key modifiers you can press to perform other actions, etc..

Notes:

  • Clicking on a bookmark will select it in explorer
  • For scripts you can double-click to open them.
    • You can also right-click scripts to expand their row. Initial expansion, if any automatic bookmarks are found is maximized. Second right-click is a smaller window if possible, otherwise it closes, and final right-click closes.
  • For any element with children you can double-click to expand them
How do I open the Help Menu?

Click the ( ? ) icon at the bottom of the plugin

How are automatic script bookmarks chosen and ordered?

Functions are considered important, they are automatically bookmarked and ordered alphabetically.

Manual bookmarks include comment markers, they are formatted as
-- Tag: text
where Tag can be anything such as TODO, Task, Bug, etc.. and they are pinned to the top of the automatic bookmarks screen and ordered alphabetically.

How do I, and why would I run a script ?

There are many ways to use Studio, and plugins you’ve acquired, or written. Some plugins provide bindings that allow you to execute actions for that plugin or automate tasks. You can download or create those scripts and execute them easily by clicking the Run Script Icon on the bookmark row if you have the script bookmarked, or by selecting it in Explorer and clicking the Run Script icon on the Primary Actionbar at the bottom of the plugin.

You can also see how long scripts take to run as the output informs you of how long they take. You can quickly check for errors as the code is executed in the same folder / place as the original.

You can create code to change your map, for instance quickly changing colors of all objects on the map, etc..

There are many reasons why you’d want a quick and easy way to execute code from a plugin.

Why isn't it free?

I spent a lot of time working on this, and I believe it is an incredibly useful plugin. I would like to receive something in return.

I may possibly put it on “Flash Sale” or “Free” in the future on special days. The license will not change in these cases.

What is the license?

License

Upon purchasing the single-user license for this plugin from the creator store, you may use the plugin while using your account on your Roblox Studio installation. You may not share, distribute, upload, duplicate, etc.. it in whole or in part anywhere.

The license is bound to your account.

How and where are bookmarks saved?

Bookmarks are saved per experience, per user in ServerStorage.PluginData.Studio Bookmarks..Active and .Saved.

Because of how bookmarks are saved, using attributes, etc.. the states of opened / collapsed script code maps are loaded properly when you switch lists.

How do I ?
3 Likes

I will be working on drag and drop support soon. I am curious if some of you want a reduced feature free version… ie one list instead of save / load lists, etc…

This plugin is now free for 24 hours :slight_smile:

2 Likes

Published an update with a few fixes.

Issue was reported that the save list outline didn’t appear correctly for all users. This should now be fixed.

Issue was noticed where the on-hover text was incorrect for script extended frame elements.

I’m experimenting with showing / hiding the statusbar, but I have it toggled off by default but if you run it as a local plugin you can change the config. I think I’ll move to a tooltip system that follows the mouse for on-hover events, and for the statusbar that will be an indicator of what is occurring with the plugin.

Can you add a feature where you can leave a comment/note/summary on a bookmark so like if i come back to it later and forget why I bookmarked it or what I wanted to do with it I can just go off the reminder?

1 Like

Yeah, the way I have it set up gives me plenty of flexibility.

I can add an attribute for each bookmark, and when I redesign the tooltip to follow the mouse instead of using the status at the bottom I can have it show up in the tooltip.

I just need to design a clean ui element or way to add that comment.

Edit:

So I’m thinking this. Instead of adding another mouse button like middle click, or modifier + click for the line to extend it. I may just have it so if you click on the bookmark type image it opens a little window or extends the row with the control. I’ll play around with the idea a bit.

For now, if you want to you can go into ServerStorage.PluginData.Studio Bookmarks..Active or Saves. and then the bookmark and add an attribute, case SeNsItIvE, called “Comment” without the quotes, type String. You can then type it in there.

I’ll link that attribute up to the system when that feature is implemented.

Edit 2:

I am also thinking about making an automatic Module Script “Task List” which can be expanded or not, that shows up at the top since that seems to be one of the things I am doing so for the entire system I can just write in comments of what to do.

Although, I could likely make it a JSON Attribute. Having a task list style system as a reminder which is built in would be a huge help.

So I’ve started working on the design I have in my mind right now. I am going to re-use the ExtendedFrame for this. Basically Scripts will be handled by the script version. I isolated the logic and made it part of the bookmark module and took out the script-height logic and pass that in as a variable.

I have the current extended height as 25 right now, but depending on comments that will change.

I still need to make a comment / task style row template, and add new textbox type deal and maybe a “completed” and “pending” filter / page view.. we shall see…

I may still use the Comment attribute, or I’ll simply add object type strings nested beneath the bookmark and wire those in. But I’m looking into the UI bit right now.

So instead of just comments, I think extending the system to add task lists to individual bookmarks is a nice thing to do so instead of a task module script at the top, if you bookmark the main folder root and add the other stuff you can add generalized tasks to the first without having to write a comment in a specific format.

I’ll be playing around with the storage methods whether I use the Comment Attribute and use a string table or if I make objects which is how the rest works and would make it less prone to any potential issues with serialization.

I may also set this up to work with the script system so you can have general tasks for scripts, however we will have to see how that will look. I do like the current method of typing out comments because it points to a specific line and you can jump to that line where as the task list would be generalized.

This is what it is looking like so far:

Edit: I’ll work on it some more tomorrow. But I think I have the design elements all pretty solid. So tomorrow will be data management whether I parent objects to the bookmark or use the Comment attribute; we shall see..

Using objects instead of attributes sounds safer for serialization. If you use strings in an attribute, you’re just asking for formatting errors or broken references later on.

1 Like

Well, it is for a task list. So those would be strings; I would just need to properly escape anything that comes in.. but yeah, objects is the method that seems the best.

I still need to wire up the listeners for if the ancestry changes, if objects are added / removed, and the button to create them.. but this is what it looks like so far:

It is using the Value to display, but the value and the name will be inserted to be the same. the tasks will be ordered alphabetically.

I will be publishing the update shortly :slight_smile:

Published with current changes:

Added quality of life in the form of being able to type and press enter for the new task list, and for renaming active bookmarks list as well as creating new bookmarks list instead of having to click the button.

Added new task system so all bookmarks that are not scripts allow you to add tasks, or notes and added all wiring. - Scripts can still use the method of adding comments: – Bug: fix this, etc..
I may also add this method to script bookmarks, we shall see…

Fixed the bookmarks save list not properly sorting by name for upper and lowercase.

Please let me know if you run into any issues.

I may add an indicator on the icon to show that tasks or comments exist. Maybe with a number. We’ll see.

Edit: Published a few other minor tweaks. The delete button wasn’t the same everywhere. Fixed that. Also added the tag IsActionDelete to use the delete on-hover background color.

I may look into seeing how much work it would be to add an on-hover dynamically scrolled task list. ie If the title, function, etc.. is too long for the line, to scroll it when you over over it.

The sorting fix for case sensitivity is a good call. It’s annoying when lists jump around because of how names are typed.

1 Like

Yeah. It was sorted by name but because I didn’t string.lower / string.upper the ones starting with lowercase were below the uppercase titles. I had string.lowered the code list but I forgot that part :slight_smile:

I think I may also add :Connect calls to the auto bookmarking of scripts since it would be useful to have an overview of those. I also need to start working on configuration soon so a config file won’t need to be edited.

I just pushed an update to include a few tweaks.

I also added Explorer Selection Anchor / Lock display.

So if you click on something in explorer, it will scan for baseparts. If it has any, it will display the Anchor and lock buttons and check the states to show Properties style ( All, Some, None ).

I still have not added a listener so if you make changes in properties it won’t update the bar until you reselect in explorer. I may add this in the future, but I’ll have to check to much this affects performance for tons of parts.

Updated to include :Connect linking in the script auto bookmarks section

I will need to add support to see if the line starts with a comment or block comment detection to hide the ones commented out. I’ll add that in the next update.

Fixed a small ui Tooltip issue with tasks under bookmarks.