StudioService:GetClassIcon
will sometimes return files that do not appear to exist within the Roblox files directory.
For example, a simple call to the method with the parameter “ParticleEmitter” returns the following data:
{
["Image"] = "rbxasset://studio_svg_textures/Shared/InsertableObjects/Dark/Standard/ParticleEmitter.png",
["ImageRectOffset"] = 0, 0,
["ImageRectSize"] = 16, 16
}
Which is great! Except that ParticleEmitter.png
does not at all exist in the directory that the method is pointing to. The majority of icons do exist in this directory, but a select few do not.
This leads to improper behaviors, where icons should be but aren’t. An example of such issue can be seen on this post.
List of missing icons
- AlignOrientation
- AlignPosition
- AngularVelocity
- Attachment
- Beam
- Breakpoint
- DragDetector
- Explosion
- Fire
- IntersectOperation
- LinearVelocity
- LineForce
- NegateOperation
- NumberValue
- PackageLink (this one is strange – the icon is there, but it’s not correct)
- ParticleEmitter
- Player
- PointLight
- Rotate
- Smoke
- Sparkles
- SpotLight
- SurfaceLight
- Torque
- Trail
- UnionOperation
- VectorForce
Expected behavior
The missing file should be included in the Roblox directory with the rest of the files (so that StudioService:GetClassIcon()
points to it), or the method should have some form of indication that the icon does not exist.
(Also on a slightly unrelated note, all of the ValueBase objects, except for BrickColorValue, BoolValue, CFrameValue, point to their old icon instead of their new one)