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...
Upgrading from Godot 4.6 to Godot 4.7
For most games and apps made with 4.6 it should be relatively safe to migrate to 4.7. This page intends to cover everything you need to pay attention to when migrating your project.
깨는 변경사항
If you are migrating from 4.6 to 4.7, the breaking changes listed here might affect you. Changes are grouped by areas/systems.
이 문서에서는 각 주요 변경 사항이 GDScript에 영향을 미치는지 여부와 C# 주요 변경 사항이 바이너리 호환 또는 소스 호환인지 여부를 나타냅니다.
바이너리 호환 - 기존 바이너리는 재컴파일 없이 성공적으로 로드 및 실행되며 런타임 동작은 변경되지 않습니다.
소스 호환 가능 - 소스 코드는 Godot를 업그레이드할 때 변경 없이 성공적으로 컴파일됩니다.
코어
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
오브젝트 |
||||
Method |
✔️ |
✔️ |
||
ZIPPacker |
||||
Method |
✔️ |
✔️ |
||
OptimizedTranslation |
||||
Method |
✔️ |
❌ |
✔️ |
2D
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
GPUParticles2D |
||||
Method |
✔️ |
✔️ |
||
GPUParticles2D |
||||
Method |
✔️ |
✔️ |
3D
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
GPUParticles3D |
||||
Method |
✔️ |
✔️ |
||
GPUParticles3D |
||||
Method |
✔️ |
✔️ |
노드 만들기
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
Control |
||||
Property |
✔️ |
❌ |
❌ |
|
RichTextLabel |
||||
Enum field |
❌ |
✔️ |
❌ |
|
Method |
✔️ |
✔️ |
||
Method |
✔️ |
✔️ |
||
Method |
✔️ |
❌ |
||
Method |
✔️ |
❌ |
||
Method |
✔️ |
✔️ |
||
Method |
✔️ |
✔️ |
||
Method |
✔️ |
❌ |
||
Method |
✔️ |
❌ |
텍스처
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
안개: |
||||
Method |
✔️ |
✔️ |
||
TreeItem |
||||
Method |
✔️ |
✔️ |
렌더링
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
Image |
||||
Method |
✔️ |
✔️ |
||
Method |
✔️ |
✔️ |
||
ImageTexture |
||||
Method |
✔️ |
✔️ |
✔️ |
|
PortableCompressedTexture2D |
||||
Method |
✔️ |
✔️ |
✔️ |
|
Server |
||||
Method |
✔️ |
❌ |
||
Method |
✔️ |
✔️ |
애니메이션
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
애니메이션 |
||||
Property |
✔️ |
❌ |
❌ |
|
AnimationNodeBlendSpace1D |
||||
Method |
✔️ |
✔️ |
||
AnimationNodeBlendSpace2D |
||||
Method |
✔️ |
✔️ |
물리
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
PhysicsServer2D |
||||
Method |
✔️ |
✔️ |
||
PhysicsServer2DExtension |
||||
Method |
❌ |
❌ |
❌ |
오디오
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
AudioEffectSpectrumAnalyzer |
||||
Property |
❌ |
❌ |
❌ |
XR
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
Expression Node(표현식 노드) |
||||
Method |
❌ |
❌ |
❌ |
|
OpenXRSpatialAnchorCapability |
||||
Method |
✔️ |
✔️ |
편집기
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
Godot 인터페이스 |
||||
Constant |
✔️ |
✔️ |
❌ |
|
Constant |
✔️ |
✔️ |
❌ |
|
Constant |
✔️ |
✔️ |
❌ |
|
Constant |
✔️ |
✔️ |
❌ |
|
Constant |
✔️ |
✔️ |
❌ |
|
Constant |
✔️ |
✔️ |
❌ |
|
Constant |
✔️ |
✔️ |
❌ |
|
EditorVCSInterface |
||||
Method |
❌ |
❌ |
❌ |
행동 변화
애니메이션
참고
AnimationNodeBlendSpace1D and AnimationNodeBlendSpace2D have a new SyncMode
enum that replaces the previous boolean sync property. If you are using
an AnimationTree and your animations aren't transitioning correctly after
upgrading, you may need to set that value in each of your blend spaces to
get the desired behavior back.
The new sync modes are documented in AnimationNodeBlendSpace1D.sync_mode and AnimationNodeBlendSpace2D.sync_mode.
렌더링
참고
The LinearToSRGB visual shader no longer clamps to the range [0.0, 1.0]
when using the Mobile or Forward+ renderer (GH-113956).
참고
CanvasItem now avoids adding the antialiasing feather when drawing lines (GH-105122).
The feather made lines appear thicker than intended, projects that relied on this behavior
will have to be updated to draw a thicker line width.
물리
참고
The default area_mask for AudioStreamPlayer was changed from 1 to 0 (disabled) (GH-107679).
If you use the audio_bus_override feature on Area2D or Area3D, and you
use the AudioStreamPlayer default area_mask (just layer 1 ticked), you will need
to reset the mask to layer 1 — otherwise, the bus overrides will stop working.
If the mask was set to anything except layer 1, it will continue to work as expected.
참고
When using Jolt Physics as the 3D physics engine, WorldBoundaryShape3D will now use the same
convention as Godot when applying WorldBoundaryShape3D.plane.d, resulting in the sign of the plane
distance being interpreted in the opposite way compared to Godot 4.6 (GH-118948). You will need to flip
the sign yourself to get the same behavior as in Godot 4.6.
참고
When using Jolt Physics as the 3D physics engine, SoftBody3D will no longer default its mass to 0,
which resulted in an automatically calculated weight of 1 kg per point, resulting in a very high total
mass for the body. Now instead it will default to 1 kg for the entire SoftBody3D, same as Godot
Physics (GH-116041).
참고
When using Jolt Physics as the 3D physics engine, SoftBody3D will now apply
SoftBody3D.linear_stiffness in a way that better matches Godot Physics, and in a way that's more
appropriate in general (GH-116041). This will affect every SoftBody3D instance in one way or
another, meaning you will need to re-tweak properties like SoftBody3D.linear_stiffness and
SoftBody3D.damping_coefficient to achieve your desired behavior.
참고
When using Jolt Physics as the 3D physics engine, Area3D will now report overlaps with SoftBody3D
from its various signals and methods (GH-114198). To work around this breaking change, configure your
collision layers/masks such that any undesirable interactions between Area3D and SoftBody3D are
ignored.
입력
참고
The device IDs for mouse and keyboard were changed from 0 to InputEvent.DEVICE_ID_MOUSE and
InputEvent.DEVICE_ID_KEYBOARD because some joypads may use 0 as their ID (GH-116274).
Check the input event by type or compare the device ID InputEvent.device to the constants
InputEvent.DEVICE_ID_MOUSE and InputEvent.DEVICE_ID_KEYBOARD instead.
GDScript
참고
Setting the element of packed arrays no longer calls the setter for the entire packed array property (GH-113228).
참고
Methods that inherit from a method with a typed return now inherit the return type as well,
requiring an explicit return statement in the override (GH-115763).
Add return null to the end of the method to fix the error.
플랫폼
참고
The minimum macOS version required to run Godot was increased from macOS 10.13 (High Sierra) to macOS 11 (Big Sur).
변경된 기본값
The following default values have been changed. If your project uses any of these properties with their default value, you can achieve a similar behavior to the previous version by manually setting the values to match the old defaults.
참고
The default stretch mode and stretch aspect for newly created projects
is now canvas_items and expand respectively (previously disabled
and keep). This can be changed in the Project Settings under
display/window/stretch/mode and display/window/stretch/aspect.
애니메이션
매개변수 |
Old Default |
New Default |
|---|---|---|
LookAtModifier3D |
||
Property |
'값' |
false |
코어
매개변수 |
Old Default |
New Default |
|---|---|---|
프로젝트 설정 |
||
속성 |
7 |
8 |
노드 만들기
매개변수 |
Old Default |
New Default |
|---|---|---|
RichTextLabel |
||
Method |
false |
0 |
Method |
false |
0 |
Method |
false |
0 |
Method |
false |
0 |
가져오기
매개변수 |
Old Default |
New Default |
|---|---|---|
ResourceImporterDynamicFont |
||
Property |
1 |
3 |