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.1에서 Godot 4.2로 업그레이드
4.1로 제작된 대부분의 게임과 앱의 경우 4.2로 마이그레이션하는 것이 상대적으로 안전합니다. 이 페이지에서는 프로젝트를 마이그레이션할 때 주의해야 할 모든 것을 다루려고 합니다.
깨는 변경사항
4.1에서 4.2로 마이그레이션하는 경우 여기에 나열된 주요 변경 사항이 영향을 미칠 수 있습니다. 변경 사항은 영역/시스템별로 그룹화됩니다.
경고
Mesh 리소스 형식은 4.2에서 `정점 및 속성 압축 <https://github.com/godotengine/godot/pull/81138>`__을 허용하도록 변경되었습니다. 이를 통해 특히 모바일과 같이 메모리 대역폭이 제한된 플랫폼에서 렌더링 성능이 향상됩니다.
Godot 4.0-4.1 메시 형식을 로드하는 것은 여전히 가능하지만, 이전 Godot 버전에서는 Godot 4.2 메시 형식을 로드하는 것이 **불가능**합니다. 4.2 이전 버전으로 만들어진 Godot 프로젝트를 열 때, 두 가지 옵션을 제공하는 업그레이드 대화 상자가 나타날 수 있습니다:
다시 시작 및 업그레이드: 프로젝트의 모든 메시에 대한 메시 형식을 업그레이드하고 결과를 디스크에 저장합니다. 이 옵션을 선택하면 프로젝트가 4.2 이전의 Godot 버전으로 다운그레이드되는 것을 방지할 수 있습니다. 버전 관리 시스템을 설정하고 이 옵션을 선택하기 전에 변경 사항을 푸시하세요!
업그레이드 전용: 메시 형식을 디스크에 쓰지 않고 메모리 내에서 업그레이드합니다. 이를 통해 나중에 필요한 경우 프로젝트를 4.2 이전 Godot 버전으로 다운그레이드할 수 있습니다. 단점은 프로젝트가 로드될 때마다 메시 형식을 업그레이드해야 하기 때문에 프로젝트 로드가 매번 느려진다는 것입니다. 이렇게 늘어난 로딩 시간은 내보낸 프로젝트에도 영향을 미칩니다. 메시 리소스의 수와 복잡성에 따라 로딩 시간이 얼마나 영향을 받는지 결정됩니다.
이 대화상자가 나타나지 않으면 편집기 상단에서 **프로젝트 > 도구 > 메쉬 표면 업그레이드…**를 사용하세요.
이 문서에서는 각 주요 변경 사항이 GDScript에 영향을 미치는지 여부와 C# 주요 변경 사항이 바이너리 호환 또는 *소스 호환*인지 여부를 나타냅니다.
바이너리 호환 - 기존 바이너리는 재컴파일 없이 성공적으로 로드 및 실행되며 런타임 동작은 변경되지 않습니다.
소스 호환 가능 - 소스 코드는 Godot를 업그레이드할 때 변경 없이 성공적으로 컴파일됩니다.
코어
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
노드 |
||||
상수 ``NOTIFICATION_NODE_RECACHE_REQUESTED``가 제거되었습니다. |
❌ |
✔️ |
❌ |
애니메이션
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
AnimationPlayer |
||||
메서드 ``_post_process_key_value``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
메서드 ``add_animation_library``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
✔️ |
✔️ |
✔️ |
||
시그널 ``animation_finished``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
❌ |
❌ |
|
시그널 ``animation_started``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
❌ |
❌ |
|
시그널 ``animation_libraries_updated``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
시그널 ``animation_list_changed``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
|
✔️ |
✔️ |
✔️ |
|
✔️ |
✔️ |
✔️ |
||
✔️ |
✔️ |
✔️ |
||
✔️ |
✔️ |
✔️ |
||
메서드 ``find_animation_library``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
✔️ |
✔️ |
✔️ |
||
메서드 ``get_animation_library``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
메서드 ``get_animation_library_list``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
메서드 ``get_animation_list``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
✔️ |
✔️ |
✔️ |
||
메서드 ``has_animation_library``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
속성 ``method_call_mode``가 ``callback_mode_method``로 이름이 바뀌고 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
|||
속성 ``playback_active``가 ``active``로 이름이 바뀌고 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
|||
속성 ``playback_process_mode``가 ``callback_mode_process``로 이름이 바뀌고 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
|||
메서드 ``remove_animation_library``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
메서드 ``rename_animation_library``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
|
✔️ |
✔️ |
✔️ |
|
|
✔️ |
✔️ |
✔️ |
|
메서드 ``set_reset_on_save_enabled``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
|
✔️ |
✔️ |
||
애니메이션 |
||||
메서드 ``_post_process_key_value``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
|
✔️ |
✔️ |
✔️ |
|
✔️ |
✔️ |
✔️ |
||
시그널 ``animation_finished``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
❌ |
❌ |
|
시그널 ``animation_started``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
❌ |
❌ |
|
|
✔️ |
✔️ |
✔️ |
|
메서드 ``get_root_motion_position``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
메서드 ``get_root_motion_position_accumulator``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
메서드 ``get_root_motion_rotation``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
메서드 ``get_root_motion_rotation_accumulator``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
메서드 ``get_root_motion_scale``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
메서드 ``get_root_motion_scale_accumulator``가 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
속성 ``process_callback``가 ``callback_mode_process``로 이름이 바뀌고 기본 클래스 ``AnimationMixer``로 이동되었습니다. |
✔️ |
|||
|
✔️ |
✔️ |
✔️ |
|
|
✔️ |
❌ |
❌ |
노드 만들기
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
팝업메뉴 |
||||
|
✔️ |
|||
|
✔️ |
|||
|
✔️ |
|||
ScoreLabel |
||||
|
✔️ |
✔️ |
렌더링
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
JavaScript |
||||
메소드 |
✔️ |
|||
메서드 ``get_surface_format``는 반환 유형을 ``uint32``에서 ``uint64``로 변경합니다. |
✔️ |
❌ |
❌ |
|
결과 시험하기 |
||||
|
✔️ |
✔️ |
||
✔️ |
❌ |
❌ |
||
렌더링 |
||||
열거형 필드 ``BarrierMask.BARRIER_MASK_RASTER``는 값을 ``1``에서 ``9``로 변경합니다. |
✔️ |
✔️ |
✔️ |
|
열거형 필드 ``BarrierMask.BARRIER_MASK_ALL_BARRIERS``는 값을 ``7``에서 ``32767``로 변경합니다. |
✔️ |
✔️ |
✔️ |
|
열거형 필드 ``BarrierMask.BARRIER_MASK_NO_BARRIER``는 값을 ``8``에서 ``32768``로 변경합니다. |
✔️ |
✔️ |
✔️ |
|
|
✔️ |
✔️ |
||
메서드 ``shader_get_vertex_input_attribute_ask``는 반환 유형을 ``uint32``에서 ``uint64``로 변경합니다. |
✔️ |
❌ |
❌ |
|
결과 시험하기 |
||||
메소드 |
✔️ |
텍스처
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
안개: |
||||
메소드 |
✔️ |
❌ |
❌ |
|
메소드 |
✔️ |
❌ |
❌ |
|
|
✔️ |
✔️ |
그래프편집
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
그래프편집 |
||||
속성 ``arrange_nodes_button_hidden``가 ``show_arrange_button``로 이름이 변경되었습니다. |
❌ |
|||
❌ |
||||
❌ |
||||
❌ |
||||
GraphNode |
||||
|
❌ |
❌ |
❌ |
|
시그널 ``close_request``가 ``delete_request``로 이름이 바뀌고 기본 클래스 ``GraphElement``로 이동되었습니다. |
❌ |
|||
|
✔️ |
✔️ |
✔️ |
|
|
✔️ |
✔️ |
✔️ |
|
✔️ |
❌ |
❌ |
||
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
|
✔️ |
✔️ |
✔️ |
||
✔️ |
✔️ |
✔️ |
||
|
❌ |
❌ |
❌ |
|
|
✔️ |
✔️ |
✔️ |
|
시그널 ``position_offset_changed``가 기본 클래스 ``GraphElement``로 이동되었습니다. |
✔️ |
✔️ |
✔️ |
|
✔️ |
✔️ |
✔️ |
||
|
✔️ |
✔️ |
✔️ |
|
✔️ |
❌ |
❌ |
||
|
✔️ |
✔️ |
✔️ |
|
|
✔️ |
✔️ |
✔️ |
|
|
❌ |
❌ |
❌ |
|
|
❌ |
❌ |
❌ |
타일맵
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
타일맵 |
||||
속성 ``cell_quadrant_size``가 ``rendering_quadrant_size``로 이름이 변경되었습니다. |
❌ |
XR
변경 |
GDScript |
C# 바이너리 호환 |
C# 소스 호환 |
소개 |
|---|---|---|---|---|
Godot 인터페이스 |
||||
속성 ``environment_blend_mode``가 추가되었습니다. |
✔️ |
❌ |
❌ |