Unity 新版本与 UniRx 冲突

刚刚升级了 Unity 新版本,从 2021.2.9f1c1 升到 2021.3.0f1c1, 一打开项目傻眼了,大量报错。

原来是 Unity 新版本中加入的 System.Reactive 的方法 Subscribe() 和我项目用到的 UniRxSubscribe() 重名冲突了:

 The call is ambiguous between the following methods or properties: 'UniRx.ObservableExtensions.Subscribe<T>(System.IObservable<T>)' and 'System.ObservableExtensions.Subscribe<T>(System.IObservable<T>)

如果同时 using Systemusing UniRX, 就会报错。这样的代码文件我还蛮多的……

网上搜解决方案,只找到临时办法:

这个问题似乎是从 2021.2.11 版本开始有的。这么说 Unity 官方也支持响应式编程了吗,是否能取代 UniRx? 有机会试试。

按理说,开发环境不能频繁追新升级,容易导致项目出现新问题,但我就是控制不住我自己,希望自己的项目能一直跟得上“时代”,不希望若干年后想修改内容的时候,还要四处找老版本的 Unity 安装。

posted @ 2022-04-16 13:33  seesawgame  阅读(270)  评论(0编辑  收藏  举报