Swap: Supercharged class converter and more

What makes this different from Reclass?

3 Likes

Here’s some of the key ones:

  • Attributes carry over to converted classes

  • Descendants of converted classes don’t disappear when undoing the action

  • There is more than one way of converting classes

  • The textbox lets you select a class faster

  • Suggestions (based off of conversion history) appear when selecting multiple classes of different types

20 Likes

1.8.1


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.


Bug fixes:

  • The mouse icon would not change while hovering over the swap button until it left and reentered it

  • The icon for the class filled in the search bar would not automatically adjust when the Studio theme changed

  • Roblox Studio’s undo/redo system did not work when copying and pasting attributes

Changes:

  • New way of indicating whether a class has been found while searching for one

SwapDemo

Features:

  • Copy and pasting attributes has been expanded to properties and tags as well

  • Searching for new classes is even faster now with results prioritized by similarity of property names

  • When a class is replaced now, any instance-type properties in your entire game holding the old instance value will be replaced with the new one

2 Likes

1.8.2


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.

2 Likes

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!

5 Likes

Not gonna lie, I really love this plugin too.

2 Likes

1.8.3


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.comraw.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.

1 Like

1.8.4 │ LinkIcon · LinkIcon · LinkIcon · LinkIcon


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.

1.8.5


Changes:

Bug Fixes:

  • 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.

  • Some changes made to contextual suggestions
1 Like

1.8.7


  • Fixed an error that would occur when Properties were “pasted” without first being copied

1.9.0


Highlights

Cut Attributes and Tags

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.

Tab To Type

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:

2a|1636 × 336

Now this is what it looks like:

2b|1636 × 336


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”

2 Likes

Seems WAY better than elttobs $2899.99 plugin, thank you so much for this fantastic resource.

4 Likes

How is this different from reclass?

1 Like

I asked that same question somewhere around November of 2023, but the OP gave some key differences

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.

1 Like

1.9.2


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.


RobloxMarketplace · Donate

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

I re-created what you described and it still worked after converting to a different class. You can try it yourself, since Swap is free, and let me know if you have any problems.