In Unity Manual, Asset Bundle is defined as an archive file that contains platform-specific non-code Assets (such as Models, Textures, Prefabs, Audio clips, and even entire Scenes) that Unity can load at run time.
AssetBundles can be useful for downloadable content (DLC), reducing initial install size, loading assets optimized for the end-user’s platform and reducing runtime memory pressure.

Basically, they are assets that can be loaded in runtime (while the application is running). This way, you can create a starting game scene and make the rest of the assets available on the cloud for the players (DLC).

First, create a prefab (it can contain children and any type of components)
In the project folder, select the prefab and in the inspector, select the asset bundle section and give it a new name. I’ll call it horse

Now we will need to execute some code from Asset Bundle workflow
Create a new folder called Editor in project tab and a new script called CreateAssetBundles

Later, click on Assets/Build AssetBundles

Now, the Asset Bundle is available to be uploaded, for example, to AWS S3

Unity developer