EllanJiang/GameFramework · error · GameFrameworkException

You can not use VerifyResourcePack at this time.

Error message

You can not use VerifyResourcePack at this time.

What it means

VerifyResourcePack relies on m_ResourcePackVersionListSerializer, which the host layer (e.g. Unity ResourceComponent) must supply via SetResourcePackVersionListSerializer. If verification is attempted before that serializer is registered, ResourceManager throws this GameFrameworkException since it cannot read the packed version list inside the pack.

Solutions

  1. Ensure the host calls SetResourcePackVersionListSerializer (with a ResourcePackVersionListSerializer wired to your text/bytes helpers) during startup before verifying.
  2. Call VerifyResourcePack only after the full ResourceManager setup (mode + serializers + helpers) has completed.
  3. Check initialization logs/flags to confirm serializer registration happened.

Example fix

// before
resourceManager.VerifyResourcePack(packPath); // serializer missing
// after
resourceManager.SetResourcePackVersionListSerializer(new ResourcePackVersionListSerializer(LoadResourcePackVersionList, ParseResourcePackVersionList));
resourceManager.VerifyResourcePack(packPath);
Defensive patterns

Strategy: validation

Validate before calling

// ensure serializer registered during bootstrap before any VerifyResourcePack call
rm.SetResourcePackVersionListSerializer(serializer);

Try / catch

try { rm.VerifyResourcePack(p); } catch (GameFrameworkException ex) { Log.Error("Serializer not registered: " + ex.Message); }

Prevention

When it happens

Trigger: Calling VerifyResourcePack in an updatable mode before the resource helper/serializer was injected, or the host component forgot to call SetResourcePackVersionListSerializer during initialization.

Common situations: Custom bootstrap code calls VerifyResourcePack directly bypassing the Unity ResourceComponent's initialization order; a serializer registration was dropped during refactor.

Understand the failure class

Background: "not installed", "pip install", "required for": how missing-dependency errors surface across open-source libraries — this error's family across 34 libraries.

Related errors


AI-assisted analysis of EllanJiang/GameFramework@d0c010b051 (2026-09-15). Data as JSON: /api/errors/bdb8262352a43f53. Report an issue: GitHub.

Appendix: source

Thrown at GameFramework/Resource/ResourceManager.cs:1382

            if (!File.Exists(resourcePackPath))
            {
                throw new GameFrameworkException(Utility.Text.Format("Resource pack '{0}' is not exist.", resourcePackPath));
            }

            if (m_ResourceMode == ResourceMode.Unspecified)
            {
                throw new GameFrameworkException("You must set resource mode first.");
            }

            if (m_ResourceMode != ResourceMode.Updatable && m_ResourceMode != ResourceMode.UpdatableWhilePlaying)
            {
                throw new GameFrameworkException("You can not use VerifyResourcePack without updatable resource mode.");
            }

            if (m_ResourcePackVersionListSerializer == null)
            {
                throw new GameFrameworkException("You can not use VerifyResourcePack at this time.");
            }

            try
            {
                long length = 0L;
                ResourcePackVersionList versionList = default(ResourcePackVersionList);
                using (FileStream fileStream = new FileStream(resourcePackPath, FileMode.Open, FileAccess.Read))
                {
                    length = fileStream.Length;
                    versionList = m_ResourcePackVersionListSerializer.Deserialize(fileStream);
                }

                if (!versionList.IsValid)
                {
                    return false;
                }

                if (versionList.Offset + versionList.Length != length)

View on GitHub (pinned to d0c010b051)