Add Content protocol that points to directory of opened place

While developing games and plugins, developers need to create and iterate on assets like images, audio, and meshes. Many of these types cost money to upload, and all are moderated regardless, so it’s important to make sure they’re finalized first.

Studio provides the Local Assets Folder setting, allowing the developer to use the rbxasset:// protocol to refer to a directory of assets on the local file system. However, this is a single, global location that all projects must use. If I’m developing PluginA in one location, PluginB in another location, and GameC in yet another, I have to either keep or copy the assets of every single project under one directory. Even if these local assets are temporary, moving and copying files around hinders development.

It would be way more convenient if I could just refer to assets in the same directory as the open place. For example, if the protocol were local://, then with the following file structure:


While place.rbxl is open, I would be able to use logo.png via local://assets/logo.png. With the live reloading feature the studio already provides, I would be able to iterate on such assets much more rapidly.