As a developer, it can be difficult to determine the role of a particular object in the explorer. It often requires additional panels like looking at the properties or inspecting the viewport. This problem was identified when Scripts gained the RunContext property and the icon was made dynamic: it changes to the LocalScript icon when the RunContext is set to Client to make it obvious at a glance what the script’s role is.
There are other objects that would benefit from this behavior. Here’s my list:
-
Model
’s icon should reflect itsModelStreamingMode
, because the developer shouldn’t have to individually inspect Model objects to find out why their streaming behavior may be significantly different from a sibling model. This is an important property that shouldn’t be overlooked during development. -
SpecialMesh
’s icon should reflect itsMeshType
, because the mesh’s behavior fundamentally changes based on that property. -
Part
’s icon should reflect itsShape
, because the part’s behavior fundamentally changes based on that property. -
ScreenGui
’s icon should reflect itsScreenInsets
, because the ui’s behavior significantly changes baesd on that property. It’s expected that developers will have several of these objects at the top level of the PlayerGui for no reason other than to have separate configurations of ScreenInsets. -
Tool
’s icon should reflect itsRequiresHandle
, because the behavior of the tool fundamentally changes based on its value.