According to this, you can’t get a list of the properties as keys.
I remember there being a module (idk the name) that did this for you though. I believe it pretty much has an array of property names for each Class though, so you’d need to manually fill that in.
if you’re trying to make it yourself, it would look something like this:
-- I picked Decal and ClickDetector because they don't have too many properties
-- This is a dictionary that stores all the property names of each class
Classes = {
["Decal"] = { Color3, LocalTransparencyModifier, Texture, Transparency, ZIndex, Face, Archivable, ClassName, Name, Parent },
["ClickDetector"] = { CursorIcon, MaxActivationDistance, Archivable, ClassName, Name, Parent },
...
}
function toDictionary(someInstance)
local data = {}
-- for each property name in the instance's class, get the value from the instance and store in dictionary
for _, propertyName in ipairs(Classes[someInstance.ClassName]) do
data[propertyName] = someInstance[propertyName]
end
return data
end
someDecal = ...
data = toDictionary(someDecal)
http://setup.roblox.com/[VERSION]-API-Dump.json and http://setup.roblox.com/versionQTStudio (where you can directly grab the api dump from roblox. You’ll need to use a proxy server. You can use a specific roblox studio version from your app data folder. versionQTStudio returns the latest studio version, which you will replace [VERSION] with in the 1st endpoint)