Currently, only native/SourceMod plugins can add to the download list, which means that if I would want to make an add-on that requires custom assets, I would either need to use a SourceMod plugin to add the assets to the download list, or pack it with the map.
I propose adding a function like AddToDownloadList(string filepath) or a hook (OnScriptHook_ClientConnected?) when a player connects which returns an array of strings containing the filepaths to download.
This isn't limited to TF2, but it's where I wish the feature to be added the most.