EllanJiang/GameFramework · error · GameFrameworkException
Update version list success callback is invalid.
Error message
Update version list success callback is invalid.
What it means
The UpdateVersionListCallbacks constructor requires a non-null success callback; passing null throws GameFrameworkException. Without a success handler the framework could not report a completed version list update, so the object refuses construction.
Solutions
- Pass a valid UpdateVersionListSuccessCallback delegate
- Verify the handler method exists and matches the delegate signature
- Check argument order (success first, failure second)
Example fix
// before var callbacks = new UpdateVersionListCallbacks(null, OnUpdateVersionListFailure); // throws // after var callbacks = new UpdateVersionListCallbacks(OnUpdateVersionListSuccess, OnUpdateVersionListFailure);
Defensive patterns
Strategy: validation
Validate before calling
if (onSuccess != null) {
var callbacks = new UpdateVersionListCallbacks(onSuccess, onFailure);
} Type guard
bool IsValidCallbacks(UpdateVersionListSuccessCallback s, UpdateVersionListFailureCallback f) => s != null;
Try / catch
try { var c = new UpdateVersionListCallbacks(successCb, failureCb); } catch (GameFrameworkException ex) when (ex.Message.Contains("success callback")) { log.Error("UpdateVersionListSuccessCallback was null"); } Prevention
- Always bind the success handler method explicitly
- Keep success/failure argument order (success first)
- Null-check delegates before constructing callback bundles
When it happens
Trigger: new UpdateVersionListCallbacks(null, failureCallback) — passing a null UpdateVersionListSuccessCallback, typically because a method reference was not bound or a conditional assignment left it null.
Common situations: Wiring callbacks in Unity where a handler was unassigned in the Inspector; refactoring removed the handler method; passing the arguments in the wrong order.
Related errors
- Download manager is invalid.
- Load asset callbacks is invalid.
- Update version list callbacks is invalid.
- Asset name is invalid.
- Buffer is invalid.
AI-assisted analysis of EllanJiang/GameFramework@d0c010b051 (2026-09-15).
Data as JSON: /api/errors/18a22c0624f60206.
Report an issue: GitHub.
Appendix: source
Thrown at GameFramework/Resource/UpdateVersionListCallbacks.cs:36
/// <summary>
/// 初始化版本资源列表更新回调函数集的新实例。
/// </summary>
/// <param name="updateVersionListSuccessCallback">版本资源列表更新成功回调函数。</param>
public UpdateVersionListCallbacks(UpdateVersionListSuccessCallback updateVersionListSuccessCallback)
: this(updateVersionListSuccessCallback, null)
{
}
/// <summary>
/// 初始化版本资源列表更新回调函数集的新实例。
/// </summary>
/// <param name="updateVersionListSuccessCallback">版本资源列表更新成功回调函数。</param>
/// <param name="updateVersionListFailureCallback">版本资源列表更新失败回调函数。</param>
public UpdateVersionListCallbacks(UpdateVersionListSuccessCallback updateVersionListSuccessCallback, UpdateVersionListFailureCallback updateVersionListFailureCallback)
{
if (updateVersionListSuccessCallback == null)
{
throw new GameFrameworkException("Update version list success callback is invalid.");
}
m_UpdateVersionListSuccessCallback = updateVersionListSuccessCallback;
m_UpdateVersionListFailureCallback = updateVersionListFailureCallback;
}
/// <summary>
/// 获取版本资源列表更新成功回调函数。
/// </summary>
public UpdateVersionListSuccessCallback UpdateVersionListSuccessCallback
{
get
{
return m_UpdateVersionListSuccessCallback;
}
}
/// <summary>View on GitHub (pinned to d0c010b051)