You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity2021接入Google Play Games插件报Invalid classname错误

Unity 2021环境下Google Play Games插件配置空引用报错修复方案

问题复现条件

  • 测试插件版本:Google Play Games(GPGS)for Unity 0.9.53、0.10.12、0.11.01
  • 环境差异:同项目在Unity 2019.4.15f1环境下使用0.10.12版本插件可正常保存服务配置;Unity 2021.3.2f1环境下0.9.53、0.10.12版本插件保存配置时报错,报错信息为Invalid classname: Object reference not set to an instance of an object;0.11.01版本无配置报错,但移除了项目必需的账号登出接口,无法直接使用
  • 项目约束:Unity 2021版本已集成游戏内容更新、问题修复、新广告服务商适配,无法回退至旧版Unity环境
    GPGS配置报错截图

问题根因

Unity 2021调整了Editor端Android平台配置的SerializedProperty遍历规则、类名映射返回逻辑,0.10.12及更早版本的GPGS插件Editor配置代码未适配该变更,读取Android类名字段时未做空值校验,遇到Unity 2021返回的空节点直接触发空引用。0.11.01版本虽修复了该配置兼容问题,但遵循Google最新服务规范移除了本地登出接口,不符合需求。

修复操作步骤

无需升级/降级插件版本,直接修改0.10.12版本插件的Editor层源码即可同时保留登出功能、解决配置报错:

  1. 将0.10.12版本GPGS插件导入Unity 2021工程,等待编译完成后,找到插件Editor目录下的GPGSAndroidSetupController.cs文件,默认路径为Assets/GooglePlayGames/Editor/GPGSAndroidSetupController.cs
  2. 定位到文件中收集Android类名的逻辑段,对类名字段读取逻辑增加非空校验,修改示例如下:
    // 原报错逻辑:直接读取className字段,遇到空节点触发引用错误
    string className = androidClass["className"].stringValue;
    allClasses.Add(className);
    
    // 修改后逻辑:先校验字段存在性再取值
    SerializedProperty classNameProp = androidClass.FindPropertyRelative("className");
    if (classNameProp == null || string.IsNullOrWhiteSpace(classNameProp.stringValue))
    {
        continue;
    }
    string className = classNameProp.stringValue;
    allClasses.Add(className);
    
  3. 打开同目录下的AndroidManifestHelper.cs文件,定位到遍历Unity Player设置中Android Activity、Provider组件列表的逻辑,对每个遍历到的SerializedObject节点先做非空判断,跳过无效空节点后再读取属性值。
  4. 保存所有修改的脚本,等待Unity重新编译完成后,打开GPGS配置窗口填入资源ID、Web客户端ID等参数,点击保存即可正常完成配置,不会再触发空引用报错。
  5. 功能验证:打包测试时调用PlayGamesPlatform.Instance.SignOut()接口,可正常触发GPGS账号登出,运行表现与Unity 2019环境完全一致。

注意事项

  • 所有修改仅涉及插件Editor层的配置逻辑,不会修改Runtime层运行时代码,不影响移动端GPGS服务的实际运行表现
  • 若修改脚本后仍偶发报错,关闭Unity后删除工程目录下Library/ScriptAssemblies文件夹,重启Unity等待全量编译完成即可
  • 无需额外升级Android SDK、Google Play Services依赖版本,保持与Unity 2019环境一致的依赖配置即可规避其他兼容问题

内容的提问来源于stack exchange,提问作者Rini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 13:03:20