{"record":{"id":"9e11616476ce8aea","repo":"EllanJiang/GameFramework","slug":"you-can-not-use-checkversionlist-at-this-time","errorCode":null,"errorMessage":"You can not use CheckVersionList at this time.","messagePattern":"You can not use CheckVersionList at this time\\.","errorType":"exception","errorClass":"GameFrameworkException","httpStatus":null,"severity":"error","filePath":"GameFramework/Resource/ResourceManager.cs","lineNumber":1134,"sourceCode":"        /// 使用可更新模式并检查版本资源列表。\n        /// </summary>\n        /// <param name=\"latestInternalResourceVersion\">最新的内部资源版本号。</param>\n        /// <returns>检查版本资源列表结果。</returns>\n        public CheckVersionListResult CheckVersionList(int latestInternalResourceVersion)\n        {\n            if (m_ResourceMode == ResourceMode.Unspecified)\n            {\n                throw new GameFrameworkException(\"You must set resource mode first.\");\n            }\n\n            if (m_ResourceMode != ResourceMode.Updatable && m_ResourceMode != ResourceMode.UpdatableWhilePlaying)\n            {\n                throw new GameFrameworkException(\"You can not use CheckVersionList without updatable resource mode.\");\n            }\n\n            if (m_VersionListProcessor == null)\n            {\n                throw new GameFrameworkException(\"You can not use CheckVersionList at this time.\");\n            }\n\n            return m_VersionListProcessor.CheckVersionList(latestInternalResourceVersion);\n        }\n\n        /// <summary>\n        /// 使用可更新模式并更新版本资源列表。\n        /// </summary>\n        /// <param name=\"versionListLength\">版本资源列表大小。</param>\n        /// <param name=\"versionListHashCode\">版本资源列表哈希值。</param>\n        /// <param name=\"versionListCompressedLength\">版本资源列表压缩后大小。</param>\n        /// <param name=\"versionListCompressedHashCode\">版本资源列表压缩后哈希值。</param>\n        /// <param name=\"updateVersionListCallbacks\">版本资源列表更新回调函数集。</param>\n        public void UpdateVersionList(int versionListLength, int versionListHashCode, int versionListCompressedLength, int versionListCompressedHashCode, UpdateVersionListCallbacks updateVersionListCallbacks)\n        {\n            if (updateVersionListCallbacks == null)\n            {\n                throw new GameFrameworkException(\"Update version list callbacks is invalid.\");","sourceCodeStart":1116,"sourceCodeEnd":1152,"githubUrl":"https://github.com/EllanJiang/GameFramework/blob/d0c010b05167c58e92350449d04864a91ca13fd2/GameFramework/Resource/ResourceManager.cs#L1116-L1152","documentation":"Thrown by ResourceManager.CheckVersionList when the current resource mode is not Package. Version-list checking only applies in non-package modes where resources are updated externally; in Package mode all resources are local and version checking is meaningless.","triggerScenarios":"Calling CheckVersionList in Updatable mode before the VersionListProcessor helper component was created, or after partial teardown of ResourceManager helpers.","commonSituations":"Bypassing the GameFramework ResourceComponent lifecycle, calling update-flow APIs before component Awake ran, or helpers destroyed and not recreated.","solutions":["Ensure the ResourceComponent fully initialized so m_VersionListProcessor is created before CheckVersionList.","Use the framework's component lifecycle instead of instantiating ResourceManager directly.","Verify no code destroys resource helper components mid-run."],"exampleFix":"// before\nvar rm = new ResourceManager();\nrm.CheckVersionList(version);\n// after\n// wait for ResourceComponent Awake, then:\nm_ResourceComponent.CheckVersionList(version);","handlingStrategy":"validation","validationCode":"if (m_ResourceComponent.ResourceMode == ResourceMode.Updatable && m_ResourceComponent.Ready)\n    m_ResourceComponent.CheckVersionList(version);","typeGuard":null,"tryCatchPattern":"try { m_ResourceComponent.CheckVersionList(v); }\ncatch (GameFrameworkException e) { Log.Fatal(\"VersionListProcessor not ready: {0}\", e.Message); }","preventionTips":["Wait for ResourceComponent initialization before update-flow calls.","Do not instantiate ResourceManager manually.","Avoid destroying helper components during startup."],"tags":["unity","gameframework","resource-manager","missing-dependency","lifecycle"],"backgroundTag":"missing-dependency","analyzedSha":"d0c010b05167c58e92350449d04864a91ca13fd2","analyzedAt":"2026-09-15T13:37:15.352Z","contentChangedAt":"2026-09-15T13:37:15.352Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}