1. 程式人生 > 其它 >Unity 新版本與 UniRx 衝突

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 安裝。