Unity-Technologies / Unity-Technologies/com.unity.netcode.gameobjects
Addressables (and Custom) Scene Loading
還沒有人認領這個 Issue。
- 主要語言
- C#
- 星號
- 2.3k
- 分支
- 461
- 平均合併
- 3 天 16 小時
- 30 天內合併 PR
- 20
描述
Right now, NGO's NetworkSceneManager can't work with Unity's Addressable scenes. In my setup, I depend on data and event assets shared across the game, necessitating the use of addressable scenes to some extend. The current NGO framework limits us from switching to our preferred scene management method because the essential components, specifically the ISceneManagerHandler and its default assignment to DefaultSceneManagerHandler, are internal and not easily replaceable. The whole issue was previously discussed in a closed Issue #423, where a fork was used as a workaround which is a solution I'd prefer to avoid.
Integrating a custom scene provider into NetworkSceneManager might be a solution, enabling a more flexible approach to scene loading. Alternativlely allowing us to replace or extend the ISceneManagerHandler setup or the NetworkSceneManager itself, by making these components not internal, could solve the problem without needing to fork the NGO repository.
Avoiding Addressable Scenes isn't a practical option for me. It would require a significant overhaul of my systems that rely on asset-based events and data, which are accessed and modified by various systems such as UI, player interactions, and scenes.
I've also considered building my own system. However, creating a solution for Addressable scene management to function alongside NGO's existing framework feels like an unnecessary duplication of effort. Moreover, it seems this would require me to add features like auto scene migration support, addressing a problem which to me seems to be rooted at a different level, specifically syncing scene IDs and providing scenes. I'd prefer to see enhancements to the existing NetworkSceneManager to directly support Addressables or at least make it possible to replace the NetworkSceneManager with a custom implementation.
I am not an expert in these matters and I hope that my request is not too uneducated. I will continue to search for solutions.
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
首先閱讀 NetworkSceneManager 及其 ISceneManagerHandler 設定,包括預設的 DefaultSceneManagerHandler,並檢視已關閉 Issue #423 的背景。定義完成的工作應透過自訂 provider 支援 Addressable 場景,還是讓場景管理元件能夠在不使用 fork 的情況下替換。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- csharp, unity
- 領域
- networking
- Issue 類型
- 功能
- 難度
- 5/5
- 預估耗時
- 一週以上
- 活躍度
- 停滯
- 描述清晰度
- 需要釐清
- 新手友好度
- 25/100