Explorer Services Cleanup [Beta]

For anyone interested, the way service visibility works now is a bit quaint.

Essentially, any service that could be visible (think Workspace, but not HttpService) would be visible if the service existed at all. Services don’t always exist, but the moment you :GetService, they would be created. You can observe this without the beta by opening up a blank place and typing game:GetService(“VoiceChatService”) in your command bar, you’ll see it show up in the explorer because it’s created at that moment!

This is what the “Insert Service” menu was for, forcing these to be created. Originally, this was useful for “Teams”, which used to be unavailable in a place by default, but somewhere along the line, internal code called the C++ equivalent to GetService, which created the service instance, and now Teams is always visible.

This has been changed, and now services can opt into contextual visibilities, and now “being in the data model” is no longer the only qualification to being visible.

44 Likes