⭐ Unreal Engine/UE Debugging Log
[UE] ViewBinding 문제 해결 (The field for source 'OO' exists but is not accessible at runtime.)
[UE] ViewBinding 문제 해결 (The field for source 'OO' exists but is not accessible at runtime.)
2025.01.20The field for source 'OO' exists but is not accessible at runtime. 이라는 문구가 뜨면 위젯에서 컴파일이 되지 않는다. ViewBinding이 실패하면서 나오는 에러 문구다. 목차 ViewBinding 문제 해결 문제 상황 아래와 같은 Compile Error가 뜨면서 View Binding이 되지 않는다. The field for source 'TabPcMail' exists but is not accessible at runtime.[0368.75] Compile of WBP_위젯이름 failed. 1 Fatal Issue(s) 0 Warning(s) [in 198 ms] (/Game/ 경로 ) 수정 전 코드 #pragma once#i..
[UE] TSoftObjectPtr, TSoftClassPtr의 Valid 체크 (IsNull 사용)
[UE] TSoftObjectPtr, TSoftClassPtr의 Valid 체크 (IsNull 사용)
2025.01.14이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
[UE] TObjectPtr을 SoftObjectPath로 만들기
[UE] TObjectPtr을 SoftObjectPath로 만들기
2025.01.13TObjectPtr을 SoftObjectPath로 만들기 목차 TObjectPtr을 SoftObjectPath로 만들기 문제 상황 애셋을 로드하지 않고 SoftObjectPath로 사용하고 싶은 상황이 있다. 아래의 예시 상황' 현재 재생중인 사운드 '와 ' 새롭게 재생될 사운드 '를 비교하고 싶다. Sound는 TObjectPtr 변수다.NewBgmSound는 TSoftObjectPtr 변수다.void BgmSoundManager::PlayBgm(const TSoftObjectPtr NewBgmSound){ // Bgm사운드가 현재 재생중인 Bgm과 같은 경우, 동일한 Bgm사운드를 새로 재생하지 않는다. if (CurrentAudioComponent->Sound 비교 NewBgmSou..
SpawnActor (스폰을 지연시키는 방법)
SpawnActor (스폰을 지연시키는 방법)
2024.12.15언리얼 엔진에서 Spawing을 지연시키는 방법이 2가지가 있다. 첫번째로, 처음부터 SpawningActorDeferred를 사용하는 방법이 있다. 두번째로, SpawnActor를 사용하되 bDeferConstruciton = true 설정을 하여 스폰 지연시키는 방법이 있다. 목차 Spawning을 지연시키는 방법 문제 상황 SpawnActor를 하는 시점을 지연 시키고 싶다. 이유 예)데이터가 다 세팅되지 않았다.SpawnActor가 끝나기 전에 체크하고 싶은게 있다. Spawning을 지연시키는 2가지 방법 1. SpawningActorDeferred를 사용엄밀히 말하면 Spawning을 지연시키는 방법은 아니다. 하지만 BeginPlay() 이전을 조정할 수 있다.OnConstructio..
[UE] Build.cs에서 빠진게 있어 빌드가 안 되는 경우
[UE] Build.cs에서 빠진게 있어 빌드가 안 되는 경우
2024.10.08Build.cs에서 빠진게 있어 빌드가 안 되는 경우, 에러 메시지를 띄운다. 목차 Build.cs에서 빠진게 있어 빌드가 안 되는 경우 문제 상황 아래와 같은 에러 문구를 띄우며 컴파일에 실패했다. 1>PopupBase.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static struct FKey const EKeys::Escape" (__imp_?Escape@EKeys@@2UFKey@@B) referenced in function "public: virtual bool __cdecl UPopupBase::HandleKeyDownEvent(struct FKeyEvent const &)" (?Ha..
[UE] Shipping 모드에서 디버깅하기
[UE] Shipping 모드에서 디버깅하기
2024.10.02Shipping 모드로 패키징 한 후 디버깅 하고 싶을 때가 있다. 다음 상황에서는 아래에 작성한 방법으로 실행 파일과 Visual Studio를 연결해주면 된다. 목차 Shipping 모드에서 디버깅하기 문제 상황 Shipping 모드로 빌드 된 파일을 실행하면서 Visual Studio를 켜서 중단점을 걸고 디버깅을 하고 싶다. 해결 방법 1. 패키징 후 실행파일(.exe) 파일 실행하기 2. Visual Studio에서 디버깅하기Debug - Attach to Process에 들어가서 Shipping.exe를 선택하고 Attach를 눌러 준다.
[UE] Unreal Insights 엔진 코드에서 생성하기
[UE] Unreal Insights 엔진 코드에서 생성하기
2024.10.01Unreal Insight는 CPU, GPU 등의 메모리 부하를 확인할 수 있어 디버깅과 최적화에 도움이 된다. Unreal Insight를 설치하고 실행하는 방법에 대해 알아보자. 목차 Unreal Insights 엔진 코드에서 생성하기 1. Unreal Insights 빌드하기 언리얼 엔진 소스코드에서 Programs - UnrealInsights 빌드 2. 작업하는 프로젝트에 Unreal Insights 동작하도록 설정하기 자신이 만든 프로젝트 폴더 우클릭- Properties - Debuggin - Command Arguments 수정하기 프로젝트명 -tracehost=127.0.0.1 -trace=cpu,gpu,frame 변경 전 변경 후 언리얼 공식문서 - U..
[UE] Build.cs에 PublicDependencyModuleNames 추가해도 컴파일이 되지 않음
[UE] Build.cs에 PublicDependencyModuleNames 추가해도 컴파일이 되지 않음
2024.09.20Build.cs에 PublicDependencyModuleNames.AddRange에 추가해도 컴파일 되지 않는 문제 해결 목차 Build.cs에 PublicDependencyModuleNames 추가해도 컴파일이 되지 않음 문제 상황 Build.cs에 PublicDependencyModuleNames 추가해도 컴파일이 되지 않는 문제가 발생했다. 먼저, 아래와 같이 QuickAssetAction 클래스를 생성했다.QuickAssetAction 클래스는 "AssetActionUtility.h" 헤더를 필요로 하기 때문에 Build.cs에 추가해줘야 한다. QuickAssetAction.h#pragma once#include "CoreMinimal.h"#include "AssetActionU..
[UE] GameplayTag를 날리면서 발생한 문제, OnRep 함수 안 불림, 컴포넌트 클래스 Replicate
[UE] GameplayTag를 날리면서 발생한 문제, OnRep 함수 안 불림, 컴포넌트 클래스 Replicate
2024.07.31GameplayTag를 매개변수를 던져주고 변수에 값을 복사하여 담아 사용하려고 했다. 하지만 복사한 값을 사용하려고 할 때 문제가 발생했다. 목차 GameplayTag를 날리면서 발생한 문제 문제 GameplayTag를 매개변수를 던져주고 변수에 값을 복사하여 담아 사용하려고 했다.하지만 복사한 값을 사용하려고 할 때 문제가 발생했다. 문제가 발생한 부분 코드 키 입력 후 GameplayTag를 매개변수로 넘기는 부분void UXZPawnExtensionComponent::Input_EquipSlot2(const FInputActionValue& InputActionValue){ if (GetXZCharacter() && GetXZCharacter()->GetWeaponComponent(..
[UE] 입력 BindAction 템플릿 함수에서 발생한 문제
[UE] 입력 BindAction 템플릿 함수에서 발생한 문제
2024.07.27Enhanced Input을 사용할 때 입력을 등록하는 부분에서 문제가 발생했다. 입력을 등록하는 템플릿 함수를 만들어서 사용하려 했다. 템플릿 함수는 정상적으로 선언하여 컴파일이 됬지만 Enhanced Input에 등록하는 코드가 들어가니 문제가 발생했다. 입력 BindAction 템플릿 함수에서 발생한 문제 문제 상황 Enhanced Input을 사용할 때 입력을 등록하는 부분에서 문제가 발생했다. 입력을 등록하는 템플릿 함수를 만들어서 사용하려 했다.템플릿 함수는 정상적으로 선언하여 컴파일이 됬지만 Enhanced Input에 등록하는 코드가 들어가니 문제가 발생했다. 아래는 Enhanced Input에 함수를 바인딩하는 부분의 클래스다.#pragma once#include "CoreMini..
[UE] SpawnActor 시점에 에러 발생
[UE] SpawnActor 시점에 에러 발생
2024.07.26SpawnActor 시점에 에러 발생 문제 상황 SpawnActor로 총알을 스폰 시키는 시점에 에러가 발생하며 터졌다. 원인 스폰을 시키는 해당 클래스는 UObject 상속의 클래스 AActor 상속 클래스와 달리 실체가 없다. 그래서 GetWord()를 부를 때 문제가 된다. 해결방안 스폰 시키는 주체가 캐릭터가 되게 하면 문제를 해결할 수 있다. 변경 전 SpawnedProjectile = GetWorld()->SpawnActor(ActionDatas[Idx].ProjectileClass, SocketTransform.GetLocation(), TargetRotation, SpawnParams); 변경 후SpawnedProjectile = OwnerCharacter->GetWorld..
[UE] 몽타주 생성 시 A-pose 하는 문제
[UE] 몽타주 생성 시 A-pose 하는 문제
2024.07.26몽타주 생성 시 A-pose 하는 문제 문제 상황 애니메이션으로 몽타주를 생성 했는데 A-pose로 나오는 문제가 발생하였다. 원인 Animation Montage 생성은 애니메이션의 Additive Settings 설정에 따라 결과가 달라질 수 있다. 아래는 문제가 된 상황이다. 해결방안 Additive Settings 의 설정Additive Anim Type: No additive 로 설정되어 있어야 한다.