Unity-Technologies / Unity-Technologies/com.unity.netcode.gameobjects
Addressables (and Custom) Scene Loading
Nessuno ha ancora preso questa issue.
- Lingua principale
- C#
- Stelle
- 2.3k
- Fork
- 461
- Merge medio
- 3g 16h
- PR unite (30g)
- 20
Descrizione
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.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia leggendo NetworkSceneManager e la relativa configurazione di ISceneManagerHandler, incluso il DefaultSceneManagerHandler predefinito, e rivedi il contesto dell’Issue #423 chiuso. Definisci se il lavoro completato debba supportare le scene Addressable tramite un provider personalizzato oppure rendere sostituibili i componenti di gestione delle scene senza un fork.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp, unity
- Ambito
- networking
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100