bannedInstanceInstance class '{{className}}' is banned by project configuration. This class may cause performance issues, is deprecated, or has a better alternative. Check project guidelines for the recommended replacement.small-rules/ban-instancesBan specified Roblox Instance classes and configured Instance properties.
Some Roblox Instances are just useless and actively break things. The ban list starts with
UITextSizeConstraint because it breaks high resolution displays, and UISizeConstraint.MaxSize because it
breaks scaling. This rule is how that stays out of the codebase.
You list the classes you hate and the rule flags any new, variable, or JSX element that uses them. Works
through variables too — const p = new UITextSizeConstraint() gets caught even if the new is far from the
declaration.
Hate a specific property but not the whole class? Use bannedProperties to block just
UISizeConstraint.MaxSize and leave the rest alone.
bannedInstanceInstance class '{{className}}' is banned by project configuration. This class may cause performance issues, is deprecated, or has a better alternative. Check project guidelines for the recommended replacement.bannedInstanceCustom{{customMessage}}bannedPropertyProperty '{{propertyName}}' on Instance class '{{className}}' is banned by project configuration. This property may cause performance issues, is deprecated, or has a better alternative. Check project guidelines for the recommended replacement.bannedPropertyCustom{{customMessage}}This rule accepts one options object after the severity.
new Instance("Part");new Instance("MeshPart");