⭐ Unreal Engine/UE Debugging Log
[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 로 설정되어 있어야 한다.
[UE] Gameplay Tag: TagName=Illegal name (block index out of range)
[UE] Gameplay Tag: TagName=Illegal name (block index out of range)
2024.07.24GameplayTag를 불러서 사용하는데 문제가 발생했다. TagName=Illegal name (block index out of range) 란 문구가 띄면서 Tag가 제대로 불러오지 않았다. 목차 Gameplay Tag: TagName=Illegal name (block index out of range) 문제 상황 TagName=Illegal name (block index out of range) GameplayTag를 가져와 사용하려는데 위와 같은 문구가 띄면서 문제가 발생한다. 원인 XZGameplayTags.h#pragma once#include "CoreMinimal.h"#include "GameplayTagContainer.h" struct FXZTags{p..
[UE] 포트포워딩 시 주의사항
[UE] 포트포워딩 시 주의사항
2024.06.26포트포워딩 후에도 데디케이티드 서버에 접속하지 않는 문제가 발생했다. 문제가 발생했을때, 확인해야 할 사항들이 몇가지 있다. 목차 포트포워딩 시 주의사항 문제 상황 포트포워딩 후에도 데디케이티드 서버에 접속하지 않는 문제가 발생했다. 문제가 발생했을때, 확인해야 할 사항들이 몇가지 있다. 자신의 IP 확인하기 가장 기본적이지만 많이 하는 실수다. 나도 여기서 실수했다.에디터 내에서 테스트하기 위해 127.0.0.1 를 기입해서 사용했다. 자신의 IP를 기입한 후 끝에 :7777 를 붙인다. 자신의 아이피 확인하기https://www.findip.kr/ 아이피 확인 - my ip addressIP 주소를 확인하는 가장 쉽고 빠른 방법 이 사이트(findip.kr)에 접속하는 것이 I..
[UE] 아이템 드랍 후 바닥에 떨어뜨리기
[UE] 아이템 드랍 후 바닥에 떨어뜨리기
2024.05.26아이템을 주운 후 떨어뜨릴때 자연스럽게 떨어져 바닥에 놓고 싶었다. Collision 설정을 변경하면 되었다. 이 설정값을 자주 잊어버리니 아래에 기록해두겠다. 아이템 드랍 후 바닥에 떨어뜨리기 문제 상황 아이템을 드랍해도 SphereCollision 기준으로 바닥과 충돌되어 바닥에 떠있었다. 해결방안 모든 아이템의 부모가 되는 클래스의 Collsion 설정을 아래와 같이 변경한다. 기본적으로 모두 Ignore에 WorldStaticWorldDynamic위의 두개만 Block 체크한다.
[UE] 언리얼 에디터 버그: BP의 부모 클래스가 계속 바뀌는 버그 ( DefaultEngine.ini 의 CoreRedirect 문제)
[UE] 언리얼 에디터 버그: BP의 부모 클래스가 계속 바뀌는 버그 ( DefaultEngine.ini 의 CoreRedirect 문제)
2024.05.26언리얼 에디터에서 부모를 맞게 할당해도 에디터를 다시 열면 Blueprint의 부모 클래스가 계속 바뀌는 버그가 발생했다. 부모 클래스 할당이 사라지는게 아닌 특정 이름의 클래스의 이름으로 바뀌어서 뭔가 설정이 잘못됬음을 의심했다. 결과적으로 말하면, DefaultEngine.ini의 CoreRedirects 부분에 문제가 있었던 것이었다. BP의 부모 클래스가 계속 바뀌는 버그 문제상황 언리얼 에디터에서 부모를 맞게 할당해도 에디터를 다시 열면 Blueprint의 부모 클래스가 계속 바뀌는 버그가 발생했다. 확인해야 될 사항들 1. DefaultEngine.ini 내의 [CoreRedirects] 섹션프로젝트 설정 파일(DefaultEngine.ini)에서 [CoreRedirects] 섹션..