This update improves search, helps make the transition over to a new class easier, greatly expands on the copy/paste attributes feature, and includes a few changes and bug fixes.
A few changes have been made to improve class suggestions in Swap.
More recommendations have been added for WedgeParts, Humanoids, Sounds, and Configurations when nothing is being searched for.
Same-class results have been deprioritized in searches to allow more relevant classes to appear. If you convert to the same class, the class will be re-prioritized since conversion history has a large influence on results.
Just want to comment since there are basically none but your own, this plugin is fantastic; it is significantly better than Reclass and better looking as well.
The fact that it is free is absolutely astounding and is well appreciated. I was a Reclass user prior - and, as soon as I saw this - I switched. Haven’t regretted doing so, thanks for making this!
This update contains a few bug fixes to address problems created by some classes, includes changes to class data sourcing, and greatly improves class recommendations once again.
Changes:
Swap acquires the latest class data from a different source (s3.amazonaws.com → raw.githubusercontent.com). If you’ve been using Swap for a few months now, you may not see an HTTP request permission prompt from Roblox Studio.
Bug Fixes:
DynamicMesh now appears as EditableMesh in search and when converted to
Some classes like “Player” and “PluginAction” are no longer convertible because they have special Parent property or creation restrictions. These classes will not appear in searches and dont’t count as a selectable class anymore.
Full Excluded Classes List
AdvancedDragger
Breakpoint
DebuggerWatch
Dragger
GetTextBoundsParams
Noise
ParabolaAdornment
Player
PluginAction
RobloxEditableImage
StudioAttachment
StudioCallout
TrackerStreamAnimation
Improvements:
Contextual suggestions now consider superclass relatability and built-in recommendations when suggesting classes as you type
The library of built-in suggestions, that recommend classes when you haven’t typed anything, has been expanded from 38 to over 200.
This update and updates to all linked items fixes a major bug with TextBoxes. When TextBoxes were automatically made traversable in a recent update, it, combined with the existing system, caused text to be improperly positioned.
An update that reimplements the original text traversing system is coming soon to all affected items.
An error appeared in the output if anything was pasted without something being copied first
Improvements:
Update On Text Traversing
The system used to automatically move text so the cursor always stays in view (scrollable text) has been added back to Swap, CS Studio, and Performance. It will be added to CFS later.
The cut tool works like you’d normally expect: data from a chosen type is copied and removed from the object it was copied from. Using the cut tool on properties is functionally the same as using copy tool.
For classes that start with the same letters like “ImageLabel” and “ImageButton” or “TextLabel”, “TextButton”, and “TextBox” and often require a lot of typing to select, pressing the tab key or the space bar instantly fills words within class names.
Here’s what selecting one of these classes looked like before:
Now this is what it looks like:
Full release notes:
Bug fixes:
Class converter dropdown menu appeared after pressing enter to exit the search field while no class is selected
Class converter animation broke when instantly selecting no or invalid classes and then selecting valid classes
Some copied properties did not paste to objects
Changes:
Copying no attributes or tags will no longer empty the clipboard
When no class has been selected, instead of clearing the text field when focusing, text now clears when leaving
Improvements:
Better error reporting in the output
Resolved unnecessary checks while replacing classes and during Studio theme changes
Changed default recommendation Shirt --> Accessory to Shirt --> ShirtGraphic
Excluded the following classes from appearing in search and qualifying as a valid class in Swap’s class converter: (If you are affected by this, please reply below)
UserNotificationPayload
UserNotificationPayloadAnalyticsData
UserNotificationPayloadJoinExperience
UserNotificationPayloadParameterValue
ReflectionMetadataClass
ReflectionMetadataEnum
ReflectionMetadataEnums
ReflectionMetadataEvents
ReflectionMetadataClasses
ReflectionMetadataMember
ReflectionMetadataCallbacks
ReflectionMetadataFunctions
ReflectionMetadataEnumItem
ReflectionMetadataProperties
ReflectionMetadataYieldFunctions
HiddenSurfaceRemovalAsset
UI changes for a smaller overall horizontal size
Features:
Cut tool for attributes and tags (properties is available but is functionally the same as the copy tool)
Tab and space to fill words within class names like “t” → “text” in the class: “TextButton”
And in addition to that, Swap also automatically changes instance-type property values. This means that welded parts converted to MeshParts, SpawnPoints, etc, do not need to be re-welded.
In the latest update of Swap, warnings in the output have been replaced without pop-up widgets to more clearly display problems and how to resolve them.
There’s also now a distinction between when you haven’t selected a valid class and when there is nothing recommended.
And objects that can only be parented to a limited number of other objects will no longer causes errors to appear in the output. Instead, they will silently be deleted.
In Eltobb’s reclass, reclassifying an instance to an ImageButton or other instances can result in issues where events connections from the parent instance, such as an ImageButton MouseHover event inside a local script, fail to function correctly, does your plugin by chance not have this problem?
(It’s quite possible that any sort of scripts fail to properly connect to events of any kind of instance when reclassed, but i’ve only personally encountered this with textbuttons and image buttons since i dont really reclass anything else)
Are you trying to change the class of an object during runtime: while events are connected to that instance? Could you also elaborate on how your LocalScript is getting the instance value of that ImageButton/Object?
Not during runtime no, what I did was i took a frame, and then reclassed it to an imagebutton, then whenever i put a local script inside of the image button and connect to the imagebutton via any connections like MouseEnter, it simply doesn’t work, i could try to even do a simple print and it wouldn’t work.
local button = script.Parent
button.MouseEnter:Connect(function()
This is how i connect to the events.
end)
there isnt any problems with my code considering i copy and paste from other already working local scripts and it just doesn’t seem to actually work
You’ll now see two colors when typing in Swap’s class converter. The least prominent indicates the predicted class and the second-most prominent indicates what will be filled if you press the Space bar or Tab key.
Below, the word “Image” in ImageLabel is instantly filled after pressing the space bar.
More Shortcuts!
Shortcuts for copying, cutting, and pasting instance data are finally here! You can now set individual keybinds (via the Roblox Studio shortcuts widget FILE > Advanced > Customize Shortcuts…) to open all three of the menus below, even while the Swap widget is closed.
Selecting a class which matches the text typed after selecting an invalid class will no longer glitch out the UI and make it appear as if the selected class cannot be converted
The class conversion dropdown will no longer appear if it was summoned via shortcut while there was no class chosen or valid class selected
Improvements
To streamline class conversion shortcuts, all related keybinds will now disable when the widget is closed to avoid errors and prevent confusion about what class has been chosen
Features
You’ll see an extra highlight on the predicted text to show you what will be filled if the Space bar or Tab key is pressed
Shortcuts for copying, cutting, and pasting attributes, tags, and properties are now available
This updates fixes an issue where the copy, cut, and paste shortcuts only worked sometimes while the Swap widget was closed. Every function now works all the time as expected.