public void LoadAssetBundles(AssetBundlesABInfo assetBundlesABInfo)
 {
     //AssetBundles Info
     assetBundlesHandler.LoadAndCacheAssetBundleAsyn <ScriptableObject>(assetBundlesABInfo, assetBundlesABInfo.coreMechanicsABInfoName, SetCoreMechanicsABInfo);
     assetBundlesHandler.LoadAndCacheAssetBundleAsyn <ScriptableObject>(assetBundlesABInfo, assetBundlesABInfo.sODatasABInfoName, SetSODatasABInfo);
     assetBundlesHandler.LoadAndCacheAssetBundleAsyn <ScriptableObject>(assetBundlesABInfo, assetBundlesABInfo.aestheticsABInfoName, SetAestheticsABInfo);
     assetBundlesHandler.LoadAndCacheAssetBundleAsyn <ScriptableObject>(assetBundlesABInfo, assetBundlesABInfo.soundFilesABInfoName, SetSoundFilesABInfo);
 }
    void SetAssetBundleInfo(AsyncOperation asyncOperation)
    {
        AssetBundle assetBundle = ((AssetBundleCreateRequest)asyncOperation).assetBundle;

        assetBundle.LoadAssetAsync <ScriptableObject>(assetBundlesInfo).completed += (AsyncOperation assetBundleRequest) => {
            AssetBundlesABInfo assetBundlesABInfo = (AssetBundlesABInfo)((AssetBundleRequest)assetBundleRequest).asset;
            GameObject.FindObjectOfType <AssetReferenceManager>().LoadAssetBundles(assetBundlesABInfo);
        };
    }