loading a downloaded file at runtime

Here is what i want to do:
The user will have some sort of menu where he can download “extensions” to his unity client
(PC stand-alone). The “extension” might be a model or terrain or some other unity stuff.
What I want is that the “extension” to be saved on his PC and unity will be able to load it at runtime.
The only tow ways I know of loading things are: “resource folder” or “assetBundle”.
But I’m not sure any of them is what I’m looking for.
If you think one of them is the right way to do it please explain how.
If you have any other idea of how to do it ill be very happy to hear it.

Resource folder requires the asset be present in the Resource folder at build time.

Assetbundles is what you are looking for. By putting assets into assetbundles and making the available on the network, your users can download and instantiate stuff from your bundle, and even cache it on the local machine