Let's get started with the requirements! For this tutorial you will need the same requirements as the first tutorial.
1) First, create a new Unity project with the same version as the one required in How to create a mod project.
2) Then once the first step is done, download this file and place it into your Unity Project as shown below. This will allow you to build your asset bundle file.
3) Add your stuff to the asset bundle as shown below.
4) Once you have everything in your assetbundle, build it by right clicking anywhere and clicking on Build AssetBundles as shown below.
5) If your assetbundle has succeeded building you should be able to find it in Assets/AssetBundles; Once you found it, copy it into your mod project folder where your .cs files and your modinfo.json file are located as shown below.
6) Now let's load it into the game using our previous mod made in the How to create a mod project tutorial. Open your mod project and change your start method type from void
and copy the code below into the start method as shown below; You will also need to create a new variable in your mod to be able to access the asset bundle from anywhere in your mod.
is underlined in red, simply add using System.Collections;
at the top of your mod file.
7) Loading an asset bundle is good, but we also need to unload it when we unload our mod. So, to do that in your OnModUnload
method simply add asset.Unload(true);
as shown below.
8) Now, to load something from our asset bundle simply use asset.LoadAsset<T>("assetname")
for example to load the RedCube that i added into the example asset bundle earlier i can just do asset.LoadAsset<GameObject>("RedCube")
as shown below.
If you done everything correctly your asset should now be in the game. For example my red cube spawned in the mainmenu 😃