Great answer from Jerome about Resources. To add additional information for future searches in AssetBundles, consider two scenarios:
Your game is too big
You have a ton of textures, say, and your iOS game is above 100 mb - this means that Apple will show a warning to users and will not allow them to download them via cellular. Resources will not help, because everything in this folder is associated with the application.
Decision. Move artwork that you don’t need the first time you run it in asset packages. Create packages, upload them to the server somewhere, and then upload them at runtime as needed. Now your game is much smaller and will not have any scary warnings.
You need different versions of artwork for different platforms
Alternative scenario: you are developing for iPhone and iPad. For the same reasons as above, you shorten your work as much as possible to reach the limit of 100 mb for iPhone. But now the game looks awful on the iPad. What to do?
Decision. You create an asset package with two options. One for low resolution phones, and one for high resolution tablets. In this case, asset packages can be sent to the game or sent to the server. At runtime, you select the correct option and load from the set of assets, receiving the corresponding illustrations without the need, if / everywhere.
With all that said, asset packages are harder to use, poorly documented, and Unity demos don't work properly at times. Therefore, seriously evaluate whether you need them.
source share