⭐ Unreal Engine
뷰모델이 유효하지 않은 게터를 가지고 있습니다. # ViewModel # Invalid Getter
뷰모델이 유효하지 않은 게터를 가지고 있습니다. # ViewModel # Invalid Getter
2025.05.20이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
[UE] TSet과 구조체 사용하기: 왜 operator==과 GetTypeHash가 필요한가?
[UE] TSet과 구조체 사용하기: 왜 operator==과 GetTypeHash가 필요한가?
2025.04.30이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
[UE] C++ 람다에서 구조화 바인딩 변수를 캡처할 수 없는 이유 (C++20 전까지는 안 된다..)
[UE] C++ 람다에서 구조화 바인딩 변수를 캡처할 수 없는 이유 (C++20 전까지는 안 된다..)
2025.04.20목차 C++ 람다에서 구조화 바인딩 변수를 캡처할 수 없는 이유 구조화 바인딩(Structured Binding) 문법 C++17에서 도입된 구조화 바인딩(Structured Binding) 문법은 std::pair나 std::tuple을 다룰 때 훨씬 간결하고 가독성 좋은 코드를 작성할 수 있게 해준다. for (const auto& [key, value] : myMap){ // 훨씬 깔끔한 문법!} 문제 상황 그런데 아래와 같이 구조화 바인딩된 변수를 람다에서 사용하려 하면 컴파일 에러가 발생할 수 있다. for (const auto& [key, value] : myMap){ auto lambda = [key]() { return key; }; // 💥 컴파일 에러?!} ..
[UE / C++] TOptional과 Temporary Object: 당신의 참조는 이미 파괴되었다
[UE / C++] TOptional과 Temporary Object: 당신의 참조는 이미 파괴되었다
2025.04.18목차 TOptional과 Temporary Object: 당신의 참조는 이미 파괴되었다 문제 코드 const FSkillId& FSkill::GetSkillCid(const TOptional& SkillId) const{ return SkillId.Get(FSkillId(0));} 에러 메시지error: returning reference to local temporary object [-Werror,-Wreturn-stack-address] 원인 분석언리얼 엔진코드 Optional.h/** @return The optional value when set; DefaultValue otherwise. */const OptionalType& Get(const OptionalType& Def..
[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..