EllanJiang/GameFramework · error · GameFrameworkException
You can not use CheckVersionList at this time.
Error message
You can not use CheckVersionList at this time.
What it means
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.
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.
Example fix
// before var rm = new ResourceManager(); rm.CheckVersionList(version); // after // wait for ResourceComponent Awake, then: m_ResourceComponent.CheckVersionList(version);
Defensive patterns
Strategy: validation
Validate before calling
if (m_ResourceComponent.ResourceMode == ResourceMode.Updatable && m_ResourceComponent.Ready)
m_ResourceComponent.CheckVersionList(version); Try / catch
try { m_ResourceComponent.CheckVersionList(v); }
catch (GameFrameworkException e) { Log.Fatal("VersionListProcessor not ready: {0}", e.Message); } Prevention
- Wait for ResourceComponent initialization before update-flow calls.
- Do not instantiate ResourceManager manually.
- Avoid destroying helper components during startup.
When it happens
Trigger: Calling CheckVersionList in Updatable mode before the VersionListProcessor helper component was created, or after partial teardown of ResourceManager helpers.
Common situations: Bypassing the GameFramework ResourceComponent lifecycle, calling update-flow APIs before component Awake ran, or helpers destroyed and not recreated.
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
- You can not use InitResources at this time.
- You can not use UpdateVersionList at this time.
- You must set resource mode first.
- You can not use InitResources without package resource mode.
- You can not use CheckVersionList without updatable resource…
AI-assisted analysis of EllanJiang/GameFramework@d0c010b051 (2026-09-15).
Data as JSON: /api/errors/9e11616476ce8aea.
Report an issue: GitHub.
Appendix: source
Thrown at GameFramework/Resource/ResourceManager.cs:1134
/// 使用可更新模式并检查版本资源列表。
/// </summary>
/// <param name="latestInternalResourceVersion">最新的内部资源版本号。</param>
/// <returns>检查版本资源列表结果。</returns>
public CheckVersionListResult CheckVersionList(int latestInternalResourceVersion)
{
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 CheckVersionList without updatable resource mode.");
}
if (m_VersionListProcessor == null)
{
throw new GameFrameworkException("You can not use CheckVersionList at this time.");
}
return m_VersionListProcessor.CheckVersionList(latestInternalResourceVersion);
}
/// <summary>
/// 使用可更新模式并更新版本资源列表。
/// </summary>
/// <param name="versionListLength">版本资源列表大小。</param>
/// <param name="versionListHashCode">版本资源列表哈希值。</param>
/// <param name="versionListCompressedLength">版本资源列表压缩后大小。</param>
/// <param name="versionListCompressedHashCode">版本资源列表压缩后哈希值。</param>
/// <param name="updateVersionListCallbacks">版本资源列表更新回调函数集。</param>
public void UpdateVersionList(int versionListLength, int versionListHashCode, int versionListCompressedLength, int versionListCompressedHashCode, UpdateVersionListCallbacks updateVersionListCallbacks)
{
if (updateVersionListCallbacks == null)
{
throw new GameFrameworkException("Update version list callbacks is invalid.");View on GitHub (pinned to d0c010b051)