Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Passare da Godot 4.1 a Godot 4.2
Per la maggior parte dei giochi e delle applicazioni creati in 4.1, dovrebbe essere relativamente sicuro migrare a 4.2. Questa pagina intende illustrare tutti gli aspetti a cui prestare attenzione durante la migrazione del proprio progetto.
Modifiche incompatibili
Se stai migrando dalla versione 4.1 alla 4.2, le modifiche incompatibili elencate qui potrebbero interessarti. Le modifiche sono raggruppate per aree/sistemi.
Avvertimento
Il formato delle risorse Mesh è stato modificato nella versione 4.2 per permettere la compressione di vertici e attributi. Ciò porta a migliori prestazioni di rendering, soprattutto su piattaforme limitate dalla banda di memoria, come i dispositivi mobili.
È ancora possibile caricare i formati Mesh di Godot 4.0-4.1, ma non è possibile caricare il formato Mesh di Godot 4.2 nelle versioni precedenti di Godot. Quando si apre un progetto Godot creato con una versione precedente alla 4.2, potrebbe apparire una finestra di dialogo di aggiornamento con due opzioni:
Riavvia e aggiorna: Aggiorna il formato mesh per tutte le mesh del progetto e salva il risultato su disco. Una volta selezionata, questa opzione impedisce al progetto di tornare a una versione di Godot precedente alla 4.2. Impostare un sistema di controllo versione e inviare le modifiche prima di scegliere questa opzione!
Solo aggiornamento: Aggiorna il formato mesh in memoria senza scriverlo su disco. Questo consente di tornare a una versione di Godot precedente alla 4.2, se necessario, in futuro. Lo svantaggio è caricare il progetto richiederà più tempo ogni volta, poiché il formato mesh deve essere aggiornato a ogni caricamento del progetto. Questi tempi di caricamento più lunghi influiranno anche sul progetto esportato. Il numero e la complessità delle risorse mesh determinano l'impatto sui tempi di caricamento.
Se questa finestra di dialogo non viene visualizzata, utilizzare Progetto > Strumenti > Aggiorna superfici mesh… nella parte superiore dell'editor.
Questo articolo indica se ogni modifica incompatibile influisce su GDScript e se una modifica incompatibile in C# è compatibile con il binario o compatibile con il codice sorgente:
Compatibile con gli eseguibili - Gli eseguibili esistenti saranno caricati ed eseguiti correttamente senza necessità di ricompilazione e il comportamento in fase di esecuzione non cambierà.
Compatibile con il codice sorgente - Il codice sorgente sarà compilato correttamente senza cambiamenti all'aggiornamento di Godot.
Fondamentali
Cambiamento |
Compatibili con GDScript |
Compatibili con eseguibili C# |
Compatibili con codice sorgente C# |
Introdotti |
|---|---|---|---|---|
Node |
||||
Costante |
❌ |
✔️ |
❌ |
Animazione
Cambiamento |
Compatibili con GDScript |
Compatibili con eseguibili C# |
Compatibili con codice sorgente C# |
Introdotti |
|---|---|---|---|---|
AnimationPlayer |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il segnale |
✔️ |
❌ |
❌ |
|
Il segnale |
✔️ |
❌ |
❌ |
|
Il segnale |
✔️ |
✔️ |
✔️ |
|
Il segnale |
✔️ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
Il segnale |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
AnimationTree |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il segnale |
✔️ |
❌ |
❌ |
|
Il segnale |
✔️ |
❌ |
❌ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
❌ |
❌ |
Nodi GUI
Cambiamento |
Compatibili con GDScript |
Compatibili con eseguibili C# |
Compatibili con codice sorgente C# |
Introdotti |
|---|---|---|---|---|
PopupMenu |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
RichTextLabel |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
Renderer
Cambiamento |
Compatibili con GDScript |
Compatibili con eseguibili C# |
Compatibili con codice sorgente C# |
Introdotti |
|---|---|---|---|---|
ImporterMesh |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
❌ |
❌ |
|
MeshDataTool |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
❌ |
❌ |
|
RenderingDevice |
||||
Il campo di enumerazione |
✔️ |
✔️ |
✔️ |
|
Il campo di enumerazione |
✔️ |
✔️ |
✔️ |
|
Il campo di enumerazione |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
❌ |
❌ |
|
SurfaceTool |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
Testo
Cambiamento |
Compatibili con GDScript |
Compatibili con eseguibili C# |
Compatibili con codice sorgente C# |
Introdotti |
|---|---|---|---|---|
Font |
||||
Il metodo |
✔️ |
❌ |
❌ |
|
Il metodo |
✔️ |
❌ |
❌ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
GraphEdit
Cambiamento |
Compatibili con GDScript |
Compatibili con eseguibili C# |
Compatibili con codice sorgente C# |
Introdotti |
|---|---|---|---|---|
GraphEdit |
||||
La proprietà |
❌ |
✔️ |
✔️ |
|
La proprietà |
❌ |
✔️ |
✔️ |
|
La proprietà |
❌ |
✔️ |
✔️ |
|
La proprietà |
❌ |
✔️ |
✔️ |
|
GraphNode |
||||
Proprietà |
❌ |
❌ |
❌ |
|
Il segnale |
❌ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
Il segnale |
✔️ |
❌ |
❌ |
|
Metodo |
❌ |
❌ |
❌ |
|
Metodo |
❌ |
❌ |
❌ |
|
Metodo |
❌ |
❌ |
❌ |
|
Metodo |
❌ |
❌ |
❌ |
|
Metodo |
❌ |
❌ |
❌ |
|
Metodo |
❌ |
❌ |
❌ |
|
Metodo |
❌ |
❌ |
❌ |
|
Metodo |
❌ |
❌ |
❌ |
|
Metodo |
❌ |
❌ |
❌ |
|
Metodo |
❌ |
❌ |
❌ |
|
Metodo |
❌ |
❌ |
❌ |
|
Metodo |
❌ |
❌ |
❌ |
|
Proprietà |
❌ |
❌ |
❌ |
|
Il segnale |
✔️ |
✔️ |
✔️ |
|
Il segnale |
✔️ |
✔️ |
✔️ |
|
Proprietà |
❌ |
❌ |
❌ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
Il segnale |
✔️ |
✔️ |
✔️ |
|
Il segnale |
✔️ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
Il segnale |
✔️ |
❌ |
❌ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
La proprietà |
✔️ |
✔️ |
✔️ |
|
Proprietà |
❌ |
❌ |
❌ |
|
Proprietà |
❌ |
❌ |
❌ |
TileMap
Cambiamento |
Compatibili con GDScript |
Compatibili con eseguibili C# |
Compatibili con codice sorgente C# |
Introdotti |
|---|---|---|---|---|
TileMap |
||||
La proprietà |
❌ |
✔️ |
✔️ |
XR
Cambiamento |
Compatibili con GDScript |
Compatibili con eseguibili C# |
Compatibili con codice sorgente C# |
Introdotti |
|---|---|---|---|---|
XRInterface |
||||
La proprietà |
✔️ |
❌ |
❌ |
Nota
Questo cambiamento interrompe la compatibilità in C# perché la nuova proprietà è in conflitto con il nome di un enumerazione esistente e il generatore di binding C# dà priorità alle proprietà, quindi l'enumerazione è stata rinominata da EnvironmentBlendMode a EnvironmentBlendModeEnum.