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...
Оновлення з Godot 4.3 до Godot 4.4
Для більшості ігор та програм, створених з версії 4.3, перехід на версію 4.4 має бути відносно безпечним. На цій сторінці викладено все, на що потрібно звернути увагу під час перенесення вашого проєкту.
Ломальні зміни
Якщо ви переходите з версії 4.3 на 4.4, перелічені тут критичні зміни можуть вплинути на вас. Зміни згруповано за областями/системами.
У цій статті вказується, чи кожна порушна зміна впливає на GDScript і чи є порушна зміна C# бінарною сумісністю чи сумісною з джерелом:
Сумісність з бінарними файлами – Існуючі бінарні файли успішно завантажаться та виконаються без перекомпіляції, а поведінка під час виконання не зміниться.
Сумісність із вихідним кодом – вихідний код буде успішно скомпільовано без змін під час оновлення Godot.
Ядро
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
FileAccess |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
Метод |
✔️ |
❌ |
✔️ |
|
OS |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
❌ |
✔️ |
✔️ |
|
RegEx |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Семафор |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
TranslationServer |
||||
Метод |
✔️ |
✔️ |
✔️ |
Експортувати анотації
Попередження
Поведінка @export_file змінилася в Godot 4.4. При присвоєнні нового значення з Інспектора шлях тепер зберігається і повертається як посилання uid:// замість традиційного шляху res:// (GH-97912). Це істотна зміна, яка може спричинити проблеми, якщо ви очікуєте шляхи на основі res:// у скриптах або серіалізованих файлах.
Наприклад, експортовані масиви файлів тепер можуть містити поєднання шляхів uid:// та res://, особливо якщо вони були частково відредаговані в Інспекторі.
У версії 4.4 єдиний спосіб зберегти формат res:// — це вручну відредагувати файли .tscn або .tres у текстовому редакторі. Починаючи з Godot 4.5, для явного збереження старого поведінки та експорту необроблених шляхів res:// можна використовувати нову анотацію @export_file_path.
Вузли GUI
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
RichTextLabel |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Редагування графіка |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Сигнал |
❌ |
❌ |
❌ |
Фізика
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
SoftBody3D |
||||
Метод |
✔️ |
✔️ |
✔️ |
Рендеринг
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
CPUParticles2D |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
CPUParticles3D |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
GPUParticles2D |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
GPUParticles3D |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
RenderingDevice |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
❌ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
RenderingServer |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Шейдер |
||||
Метод |
✔️ |
❌ |
❌ |
|
Метод |
✔️ |
❌ |
✔️ |
|
VisualShaderNodeCubemap |
||||
Властивість |
✔️ |
❌ |
❌ |
|
VisualShaderNodeTexture2DArray |
||||
Властивість |
✔️ |
❌ |
❌ |
Примітка
У C# перелік RenderingDevice.StorageBufferUsage порушує сумісність через спосіб, у який генератор прив'язок виявляє префікс переліку. До переліку було додано нові члени з переліком GH-100062, що призвело до перейменування членів переліку.
Додатки редактора
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
Інтерфейс редактора |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
EditorSceneFormatImporter |
||||
Метод |
❌ |
❌ |
❌ |
|
EditorTranslationParserPlugin |
||||
Метод |
❌ |
❌ |
❌ |
Примітка
Метод _get_import_flags ніколи не використовувався рушієм. Його було видалено, незважаючи на порушення сумісності, оскільки користувачі не можуть покладатися на те, що це вплине на роботу рушія.
Зміни поведінки
Ядро
Примітка
Ресурс Curve тепер застосовує свій діапазон значень, тому min_value та max_value потрібно змінити, якщо будь-яка з точок виходить за межі діапазону [0, 1] за замовчуванням.
Рендеринг
Примітка
Тип вхідних даних вузла шейдера VisualShaderNodeVec4Constant змінено на Vector4. Користувачам потрібно відтворити значення у своїх константах.
CSG
Примітка
Реалізація CSG тепер використовує бібліотеку Manifold (GH-94321) Еммета Лаліша. Нова реалізація більш узгоджена з визначеннями многовидів та виправляє низку помилок і проблем зі стабільністю. Як результат, сітки, що не є многовидами, більше не підтримуються. Ви можете використовувати MeshInstance3D для рендерингу геометрії, що не є многовидами, такої як чотирикутники або площини.
Android
Примітка
Події датчиків Android більше не ввімкнено за замовчуванням (GH-94799). Проєкти, які використовують події датчиків, можуть увімкнути їх за потреби в налаштуваннях проєкту в розділі Пристрої введення > Датчики.