As a Roblox developer it is currently too hard to identify which instanced objects either play a functional or visual role in your game hierarchy.
The problem
Games in Roblox are created by combining objects into assemblies of instances. This means that many objects, such as cars, houses, terrain made out of parts, monsters and so on exist out of, for example:
- Many (nested) BaseParts and Models
- Scripts, ModuleScripts or LocalScripts
- Instances that modify physics behavior (HingeConstraint, BodyVelocity, and so on)
However, this complicates the problem of assigning behavior to objects in the game, because most of these objects are created out of many (grouped) instances. So let’s we have a game where players deliver mail to houses. Players can interact with the post box of a house and this feature is programmed by assigning attributes and tags to the post box of a house. The post box might be a descendent of the following Models:
Now the big question is of course, which objects do you tag or give attributes to? In the current moment it might be clear, but if you return later you might have forgotten! It could have been the PrimaryPart of the PostBox model, or maybe the PostBox model itself, or maybe even the HousePlot model!
If you are working with other developers, or even if you are working on a project on your own during weekends, being able to see quickly which objects are tagged or have attributes assigned to them heavily reduces confusion!
My suggestion
Instances in the explorer should be highlighted in some way to tell the developer that they have either tags or attributes assigned to them. This could be done through color coding or maybe even by using a bold font. So in the following example, the second ‘Part’ instance would have at least one tag or attribute assigned to it.
This makes it easy to find back and identify that this object has custom behavior attached to it.