↩️ Back
To use ModExtraAssets, you first have to initialize this tool. You can do that in different ways. I'm going to show 2 examples how to load ModExtraAssets with your BepInEx plugin
Initialization with .vfp files is the same, it just requires a MEAVfpLoadingProcedure and .vfp file!
1. Load instantly (Zip Files Example)
[BepInPlugin(ModInfo.ID, ModInfo.Name, ModInfo.Version)]
public class BasePlugin : BaseUnityPlugin
{
void Awake()
{
Harmony harmony = new Harmony(ModInfo.ID);
harmony.PatchAll();
MEAZipLoadingProcedure zipLoadingProcedure = Blayms.MEA.ModExtraAssets.CreateLoadingProcedure<MEAZipLoadingProcedure>(@"D:\BBP\BepInEx\plugins\blayms-tbb-baldiplus- sandbox\meazip.zip", this);
zipLoadingProcedure.Initiate();
}
}
2. Load with delay (Zip Files Example)
[BepInPlugin(ModInfo.ID, ModInfo.Name, ModInfo.Version)]
public class BasePlugin : BaseUnityPlugin
{
void Awake()
{
Harmony harmony = new Harmony(ModInfo.ID);
harmony.PatchAll();
MEAZipLoadingProcedure myNPCAssetsProcedure = Blayms.MEA.ModExtraAssets.CreateLoadingProcedure<MEAZipLoadingProcedure>(@"D:\BBP\BepInEx\plugins\blayms-tbb-baldiplus- sandbox\myNPCAssets.zip", this);
StartCoroutine(LoadWithDelayExample(myNPCAssetsProcedure));
}
IEnumerator LoadWithDelayExample(MEAZipLoadingProcedure zipLoadingProcedure)
{
//Wait 10 seconds first
yield return new WaitForSeconds(10);
//Start loading assets
zipLoadingProcedure.Initiate();
}
}