public Il2CppReferenceArray <T> LoadAllAssets <T>() where T : Object
        {
            if (!Il2CppTypeSupport.IsGeneratedAssemblyType(typeof(T)))
            {
                throw new System.NullReferenceException("The type must be a Generated Assembly Type.");
            }

            System.IntPtr intptr = LoadAllAssets(Il2CppType.Of <T>().Pointer);

            return((intptr != System.IntPtr.Zero) ? new Il2CppReferenceArray <T>(intptr) : null);
        }
        public AssetBundleCreateRequest LoadAssetWithSubAssetsAsync <T>(string name) where T : Object
        {
            if (!Il2CppTypeSupport.IsGeneratedAssemblyType(typeof(T)))
            {
                throw new System.NullReferenceException("The type must be a Generated Assembly Type.");
            }

            System.IntPtr intptr = LoadAssetWithSubAssetsAsync(name, Il2CppType.Of <T>().Pointer);

            return((intptr != System.IntPtr.Zero) ? new AssetBundleCreateRequest(intptr) : null);
        }
        public T LoadAsset <T>(string name) where T : Object
        {
            if (!Il2CppTypeSupport.IsGeneratedAssemblyType(typeof(T)))
            {
                throw new System.NullReferenceException("The type must be a Generated Assembly Type.");
            }

            System.IntPtr intptr = LoadAsset(name, Il2CppType.Of <T>().Pointer);

            return((intptr != System.IntPtr.Zero) ? Il2CppTypeSupport.Il2CppObjectPtrToIl2CppObject <T>(intptr) : null);
        }