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.3 a Godot 4.4
Per la maggior parte dei giochi e delle applicazioni creati in 4.3, dovrebbe essere relativamente sicuro migrare a 4.4. 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.3 alla 4.4, le modifiche incompatibili elencate qui potrebbero interessarti. Le modifiche sono raggruppate per aree/sistemi.
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 doverli ricompilare, 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 |
|---|---|---|---|---|
FileAccess |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
OS |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
❌ |
✔️ |
✔️ |
|
RegEx |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Semaphore |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
TranslationServer |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
Annotazioni di esportazione
Avvertimento
Il comportamento di @export_file è cambiato in Godot 4.4. Quando si assegna un nuovo valore dall'Ispettore, il percorso è ora memorizzato e restituito come riferimento uid:// invece del tradizionale percorso res:// (GH-97912). Questo è una modifica incompatibile e potrebbe causare problemi se ci si aspetta percorsi basati su res:// negli script o nei file serializzati.
Ad esempio, gli array di file esportati potrebbero ora contenere un miscuglio di percorsi uid:// e res://, soprattutto se sono stati modificati parzialmente nell'Ispettore.
Nella versione 4.4, l'unico modo per mantenere il formato res:// è modificare manualmente i file .tscn o .tres in un editor di testo. A partire da Godot 4.5, è possibile utilizzare una nuova annotazione @export_file_path per mantenere esplicitamente il vecchio comportamento ed esportare i percorsi res:// grezzi.
Nodi GUI
Cambiamento |
Compatibili con GDScript |
Compatibili con eseguibili C# |
Compatibili con codice sorgente C# |
Introdotti |
|---|---|---|---|---|
RichTextLabel |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
GraphEdit |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
❌ |
❌ |
❌ |
Fisica
Cambiamento |
Compatibili con GDScript |
Compatibili con eseguibili C# |
Compatibili con codice sorgente C# |
Introdotti |
|---|---|---|---|---|
SoftBody3D |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
Renderer
Cambiamento |
Compatibili con GDScript |
Compatibili con eseguibili C# |
Compatibili con codice sorgente C# |
Introdotti |
|---|---|---|---|---|
CPUParticles2D |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
CPUParticles3D |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
GPUParticles2D |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
GPUParticles3D |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
RenderingDevice |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
❌ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
RenderingServer |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
Shader |
||||
Il metodo |
✔️ |
❌ |
❌ |
|
Il metodo |
✔️ |
❌ |
✔️ |
|
VisualShaderNodeCubemap |
||||
La proprietà |
✔️ |
❌ |
❌ |
|
VisualShaderNodeTexture2DArray |
||||
La proprietà |
✔️ |
❌ |
❌ |
Nota
In C#, l'enumerazione RenderingDevice.StorageBufferUsage interrompe la compatibilità a causa del modo in cui il generatore di binding rileva il prefisso dell'enumerazione. In GH-100062 sono stati aggiunti nuovi membri all'enum, causando la ridenominazione dei membri dell'enum.
Estensioni per l'editor
Cambiamento |
Compatibili con GDScript |
Compatibili con eseguibili C# |
Compatibili con codice sorgente C# |
Introdotti |
|---|---|---|---|---|
EditorInterface |
||||
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
Il metodo |
✔️ |
✔️ |
✔️ |
|
EditorSceneFormatImporter |
||||
Metodo |
❌ |
❌ |
❌ |
|
EditorTranslationParserPlugin |
||||
Il metodo |
❌ |
❌ |
❌ |
Nota
Il metodo _get_import_flags non è mai stato utilizzato dal motore. È stato rimosso nonostante l'interruzione di compatibilità, poiché non c'è alcun modo per affidarsi sul fatto che questo influenza il comportamento del motore.
Cambiamenti di comportamento
Fondamentali
Nota
La risorsa Curve ora impone il suo intervallo di valori, quindi è necessario cambiare min_value e max_value se uno qualsiasi dei punti è al di fuori dell'intervallo [0, 1] predefinito.
Renderer
Nota
Il tipo di input del nodo di shader VisualShaderNodeVec4Constant è stato cambiato in Vector4. Gli utenti devono ricreare i valori nelle loro costanti.
CSG
Nota
L'implementazione di CSG ora utilizza la libreria Manifold di Emmett Lalish (GH-94321). La nuova implementazione è più coerente con le definizioni di manifold e corregge diversi bug e problemi di stabilità. Pertanto, le mesh non manifold non sono più supportate. È possibile utilizzare MeshInstance3D per renderizzare geometrie non manifold, come quadrilateri o piani.
Android
Nota
Gli eventi dei sensori Android non sono più abilitati come predefinito (GH-94799). I progetti che utilizzano gli eventi dei sensori possono abilitarli in base alle esigenze nelle Impostazioni del progetto in Dispositivi di input > Sensori.