월 26,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
자주 뜨는 컴파일에러.
5>Done building project "BuildGraph.Automation.csproj" -- FAILED.6>Done building project "AutomationScripts.Automation.csproj" -- FAILED. 이 두개의 빌드실패가 거의 항상있습니다. PIE 실행에는 영향없는거같은데, 해결할수 있는 방법이 있을까요?
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
코드 복붙 문제...
왜 코드들을 복붙하기만 하면 꼬일까요?1. 복붙한 코드들의 API명을 새 플젝명으로 바꿔써도 빌드에 문제가 생기고, 에러들이,내가 만들지않은 엔진의 코드들이 에러났다고 표시가 되요.2. 그리고 GameBase가 생기질 않았습니다. 다시보니,이전의 다른 플젝들도요. 별도의 세팅이 필요한가요?"디버깅을 위한 편집기호"는 설치했습니다.3. 파일복사에서 너무 해매서.,언리얼플젝을 통으로 카피해서,vs파일을 열어 컴파일을 하니, 그 플젝은 디버깅이 안되고, 복사후, 새로 추가한 클래스는 컨텐츠창에 안뜹니다.vs에는 있습니다.<-이렇게 쓰면 안되는건가요?4. 결국은 그래서, 강의바뀔때마다, 같은걸 다시 만들고있는데,(코딩연습으로는 좋겠지만...)강의에서 멀쩡히 되는부분이 안되서 너무 찜찜합니다. 5.3사용합니다.
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
6강 마지막 내용 부분 크래쉬 오류
rtbaseucrtbaseucrtbaseucrtbaseUnrealEditor_CoreUnrealEditor_ObjectReflection!DispatchCheckVerify<void,<lambda_cf21b4e29d6226a2d775ca19e16af934>,FLogCategoryLogTemp,wchar_t [16]>() [C:\Program Files\Epic Games\UE_5.1\Engine\Source\Runtime\Core\Public\Misc\AssertionMacros.h:171]UnrealEditor_ObjectReflection!UStudent::DoLesson() [C:\UnrealProject\ObjectReflection\Source\ObjectReflection\Student.cpp:18]UnrealEditor_ObjectReflection!UMyGameInstance::Init() [C:\UnrealProject\ObjectReflection\Source\ObjectReflection\MyGameInstance.cpp:56]UnrealEditor_EngineUnrealEditor_UnrealEdUnrealEditor_UnrealEdUnrealEditor_UnrealEdUnrealEditor_UnrealEdUnrealEditor_UnrealEdUnrealEditor_UnrealEdUnrealEditor_UnrealEdUnrealEditor_UnrealEdUnrealEditorUnrealEditorUnrealEditorUnrealEditorUnrealEditorUnrealEditorkernel32ntdll6강 보면서 하는데 선생님하신것처럼 Student->DoLesson();이후부터 저 코드를 주석을 처리하든 말든 무조건 실행시 언리얼엔진이 크래쉬를 일으킵니다 내용 대로 Student 클래스랑 init도 다시 확인했는데 정상이고요 따로 문제가 있을까요? #include "MyGameInstance.h" #include "Student.h" #include "Teacher.h" UMyGameInstance::UMyGameInstance() { SchoolName = TEXT("School"); } void UMyGameInstance::Init() { Super::Init(); UE_LOG(LogTemp, Log , TEXT("==============================")); UClass* ClassRuntime = GetClass(); UClass* ClassCompile = UMyGameInstance::StaticClass(); check(ClassRuntime==ClassCompile); UE_LOG(LogTemp,Log,TEXT("School Class Name : %s"), *ClassRuntime->GetName()); SchoolName = TEXT("Normal School"); UE_LOG(LogTemp,Log,TEXT("School Name : %s"), *SchoolName); UE_LOG(LogTemp,Log,TEXT("School Name Nomal : %s"),*GetClass()->GetDefaultObject<UMyGameInstance>()->SchoolName) UE_LOG(LogTemp, Log , TEXT("==============================")); UStudent* Student = NewObject<UStudent>(); UTeacher* Teacher = NewObject<UTeacher>(); Student->SetName(TEXT("Student 1")); UE_LOG(LogTemp, Log , TEXT("New Student Name %s"),*Student->GetName()); FString CurrentTeacherName; FString NewTeacherName(TEXT("QWER")); FProperty* NameProp = UTeacher::StaticClass()->FindPropertyByName(TEXT("Name")); if (NameProp) { NameProp->GetValue_InContainer(Teacher,&CurrentTeacherName); UE_LOG(LogTemp,Log , TEXT("Current Teacher Name %s "),*CurrentTeacherName); NameProp->SetValue_InContainer(Teacher , &NewTeacherName); UE_LOG(LogTemp,Log , TEXT("New Teacher Name %s "),*Teacher->GetName()); } UE_LOG(LogTemp, Log , TEXT("==============================")); Student->DoLesson(); UFunction* DoLessonFunnc = Teacher->GetClass()->FindFunctionByName(TEXT("DoLesson")); if (DoLessonFunnc) { Teacher->ProcessEvent(DoLessonFunnc,nullptr); } }
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
컴파일 관련 질문드립니다
안녕하세요. 언리얼엔진 초보입니다.1강 컴파일규칙에서 헤더파일이 변경되면 에디터를 끄고 vs에서 컴파일 하라고 되어있는데요 그 이후 강의에서는 가끔씩 그냥 라이브코딩으로 컴파일 하시던데 정확히 어떤 경우에 에디터를 끄고 컴파일 해야하는지 헷갈립니다. 혹시 헤더파일이 변경되어도 그냥 라이브코딩으로 컴파일하는 예외 경우가 있나요?
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
TCHAR 부분 빌드 오류 인데 모르겠습니다.
TCHAR로 로그에 Hello Unreal 찍는 3강 내용인데 언리얼엔진도 5.1로 바꿔보았는데도 선생님이랑 코드 똑같이 치고 비주얼스튜디오에서 빌드하면 에러 나오고 언리얼 출력로그에도 당연히 출력이 안됩니다. 무엇이 문제인지 모르겠어요
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
const에 대한 질문
안녕하세요. Part1 8강을 듣다가 의문이 생겨서 질문드립니다!FORCEINLINE const FString& GetName() const { return Name; };강의에서 위의 경우 함수 뒤에 const를 사용시 return 되는 Name에 빨간 줄(오류)이 들어와 반환값에도 const를 붙여준 경우인데요. 이러한 이유는 반환 값에 const를 안 붙이게 되면 참조로 반환되기 때문에 값이 변경될 수 있고 이는 함수 뒤에 붙은 const의 의미가 없어지는 것이라고 하셨습니다. 이 부분까지는 이해가 잘되었습니다. FORCEINLINE class UCard* GetCard() const { return Card; }그런데 위의 경우에도 포인터로 반환이 되기 때문에 마찬가지로 값이 변경되는 경우가 발생하지 않나요? 그런데 이 부분에서는 오류로 인식을 안 하는지 궁금합니다. const가 제대로 역할을 하고 있지 않다고 생각이 드는데 교수님의 의견을 여쭤보고 싶습니다. 감사합니다.
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
파트1 강의에 대한 내용을 전부 알려면 무엇이 필요한가요?
파트1 강의에 대한 내용을 전부 알려면 c++ 의 어떠한 기능을 숙지하고 있어야 하나요?c++ 을 전부 마스터 해야 하나요? 아니면 특정 파트만 배우면 이 내용이 이해가 되나요?
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
언리얼엔진 물리 매터리얼 리빌드 문제
언리얼 엔진 5.3.2 버전 프로젝트 빈 것으로 생성시 랜드스케이프 물리 매터리얼을 리빌드해야한다고 아래 이미지처럼 화면에 빨간 글씨로 적히는데, 아예 새 프로젝트에서 생기는 에러다보니 어떻게 해결해야할지 모르겠어서 글 남겨요 .. 아래 세가지 시도를 해보았는데 해결이 안되었어요 ..Build > Build LandscapeBuild > Physical material onlyBuild > Build All Levels
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
저장되는 파일이 UTF-16 LE로 인코딩됩니다
문제 및 조건Name변수에는 "이득우"문자열을 저장했습니다Json으로 저장된 파일을 열어보면 UTF-16 LE로 인코딩돼있습니다..txt로 파일을 저장하고 메모장으로 열어도 UTF-16 LE로 인코딩 돼있습니다..cpp파일들은 전부 UTF-8로 확실하게 저장했습니다.코드는 Json으로 읽고 쓰기 부분만 첨부드렸지만 바이너리로 저장한 파일도 불러오면 한글만 깨져있습니다.운영체제는 윈도우11, 언리얼 에디터는 5.3.1버전입니다. LogTemp 첨부LogTemp: 저장할 파일 폴더: ../../../../../../UE5_Inflearn/Part1/UnrealSerialization/Saved LogTemp: 저장할 파일전체 경로: ../../../../../../UE5_Inflearn/Part1/UnrealSerialization/Saved/RawData.bin LogTemp: 변경할 파일전체 경로: E:/UE5_Inflearn/Part1/UnrealSerialization/Saved/RawData.bin LogTemp: [RawData] 이름 이득우 순번 16 LogTemp: [ObjectData] 이름 ↓ンᄡ→モン↓レᄚ 순번 59 LogTemp: [JsonData] 이름 ↓ンᄡ→モン↓レᄚ 순번 59작성한 코드의 Json 읽고 쓰기 부분은 이렇습니다.// Json으로 읽고 쓰기 { FString JsonDataFileName(TEXT("StudentJsonData.json")); FString JsonDataAbsolutePath = FPaths::Combine(*SavedDir, *JsonDataFileName); FPaths::MakeStandardFilename(JsonDataAbsolutePath); // "JsonObjectConverter.h" include 필요 //!중요 [프로젝트 명].build.cs파일에 Json관련 모듈 2개를 추가해줘야함 // 공유 레퍼런스 - Null이 아님을 보장함 TSharedRef<FJsonObject> JsonObjectSrc = MakeShared<FJsonObject>(); // 이렇게하면 StudentSrc 오브젝트의 값이 Json으로 변환이 됨 FJsonObjectConverter::UStructToJsonObject(StudentSrc->GetClass(), StudentSrc, JsonObjectSrc); // 파일로 디스크에 저장 FString JsonOutString; TSharedRef<TJsonWriter<TCHAR>> JsonWriterAr = TJsonWriterFactory<TCHAR>::Create(&JsonOutString); if (FJsonSerializer::Serialize(JsonObjectSrc, JsonWriterAr)) { FFileHelper::SaveStringToFile(JsonOutString, *JsonDataAbsolutePath); } FString JsonInString; FFileHelper::LoadFileToString(JsonInString, *JsonDataAbsolutePath); TSharedRef<TJsonReader<TCHAR>> JsonReaderAr = TJsonReaderFactory<TCHAR>::Create(JsonInString); // 파일에 문제가 있으면 Json이 안만들어질 수 있으므로 Null을 허용하는 TsharedPtr사용 TSharedPtr<FJsonObject> JsonObjectDest; if (FJsonSerializer::Deserialize(JsonReaderAr, JsonObjectDest)) { UStudent* JsonStudentDest = NewObject<UStudent>(); if (FJsonObjectConverter::JsonObjectToUStruct(JsonObjectDest.ToSharedRef(), JsonStudentDest->GetClass(), JsonStudentDest)) { PrintStudentInfo(JsonStudentDest, TEXT("JsonData")); } } } 이 문제가 언리얼 에디터 버전때문일까요?아님 제가 코드를 잘못 작성한걸까요?테스트를 좀 해보니 최종 파일의 인코딩은 상관 없었습니다.FFileHelper::SaveStringToFile(JsonOutString, *JsonDataAbsolutePath, FFileHelper::EEncodingOptions::ForceUTF8WithoutBOM);이렇게 강제로 UTF8로 인코딩해도 똑같더라고요그래서 Json을 Serialize할 때 파일 저장 직전 Serialize된 문자열 로그를 찍어봤습니다.TSharedRef<TJsonWriter<TCHAR>> JsonWriterAr = TJsonWriterFactory<TCHAR>::Create(&JsonOutString); if (FJsonSerializer::Serialize(JsonObjectSrc, JsonWriterAr)) { UE_LOG(LogTemp, Log, TEXT("JsonOut: %s"), *JsonOutString); // 이 부분 FFileHelper::SaveStringToFile(JsonOutString, *JsonDataAbsolutePath, FFileHelper::EEncodingOptions::ForceUTF8WithoutBOM); }저기서부터 이미 한글Name이 깨져있네요 아래처럼 출력됐습니다.[2024.03.12-06.33.03:029][ 12]LogTemp: JsonOut: { "order": 59, "name": "↓ンᄡ→モン↓レᄚ" } 일단 더 찾아보겠습니다
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
8강 Enum class의 MetaData 가져올 때, 질문 있습니다.
안녕하세요. 강의 정말 잘 듣고 있습니다. 8강을 수강하다 궁금한 점이 생겨 질문드립니다. UEnum을 가져올 때, 아래와 같이 모든 패키지에서 검색하여 가져오는 방법은 좋지 않은건지 궁금합니다.const UEnum* CardEnumType = FindObject<UEnum>(ANY_PACKAGE, TEXT("ECardType"), true); DisplayName을 가져올때도 아래처럼 GetMetaData() 함수를 사용하는 것은, 일반적이지 않은 방법인지 궁금합니다.FString CardMetaData = CardEnumType->GetMetaData(TEXT("DisplayName"), (int32)CardType - 1); 읽어주셔서 감사합니다.
- 해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
스마트 포인터와 FGCObject 클래스 사용에 대한 차이점
여러 포인터 문제의 해결 방법에 대해서 얘기를 해주셨는데언리얼 오브젝트와 C++ 오브젝트의 각각의 경우에 대해 해결 방법을 정리해주신 슬라이드가 있었습니다.거기에서는 C++ 오브젝트는 스마트 포인터를 활용해서 직접 관리한다고 하셨는데, 이후 슬라이드부터는 C++ 오브젝트에서 FGCObject 클래스의 특정 함수 두 개를 구현하면 해당 오브젝트를 가비지 컬렉터가 관리하도록 할 수 있다고 하셨습니다. C++ 오브젝트의 메모리를 관리하는 방법이 두 가지가 있는 것인가요? 이런 경우 어떤 차이가 있나요?아니면 제가 잘못 이해한 것인가요?
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
27:20 쯤 LessonInterface->DoLesson(); 코드에 대해 질문드립니다!
LessonInterface는 이미 Person 오브젝트가 ILessonInterface 클래스로 형변환이 된 것이므로 ILessonInterface의 DoLesson() 함수만 호출이 될 것이라 생각했는데, 형변환 전 기존의 Person 오브젝트가 가지고 있던 DoLesson() 함수도 호출이 같이 되네요. 혹시 이 부분에 대해 설명해 주실 수 있을까요?
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
코딩 표준 In/Out 질문
2장 코딩 표준 도중 잘 이해가 안 가는 부분이 있습니다. 함수 파라미터가 레퍼런스인 경우에 관해서파라미터의 명명 규칙에 In/Out 접두사를 붙이는 부분을 설명해주셨는데요.교수님께서는 함수가 끝난 이후에 인자가 밖으로 나와서 계속 사용될 것인지 여부를 In/Out 접두사로 나타내라고 하셨습니다.근데 교수님께서 설명해주신 거랑 코딩 표준에 적혀 있는 것이랑 조금 내용이 다른 것 같아서 질문합니다.한국어 번역이 이상한 것 같아서 영문으로 보니까 다음과 같습니다.Though not required, we encourage you to prefix function parameter names with "Out" if they are passed by reference, and the function is expected to write to that value. This makes it obvious that the value passed in this argument will be replaced by the function. 함수 파라미터에 레퍼런스로 전달된 값을 함수가 변경할 지 아닐지 여부를 In/Out 접두사로 나타낼 것을 권장한다. 함수에서 파라미터의 내용을 변경하는 경우 Out 접두사를 붙여라.영어에 자신이 없는데, 혹시 이렇게 이해하는 것이 맞을까요? 교수님께서 중요하게 생각하신다고 해서 정확히 하고 넘어가고 싶습니다. ㅎㅎ
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
언리얼 엔진 파일 생성 컴파일 오류
1강 초반에 vs와 언리얼엔진을 강의 내용대로 설치하고 파일을 생성하는데 컴파일 오류로 언리얼엔진이 생성되지 않습니다. 아래는 컴파일 실패 문구입니다. 환경은 언리얼엔진 현 최신버전인 언리얼5.3.2입니다. 프로젝트를 컴파일할 수 없었습니다. Visual Studio에서 여시겠습니까?Running C:/Program Files/Epic Games/UE_5.3/Engine/Build/BatchFiles/Build.bat Development Win64 -Project="C:/UE5Part1/HelloUnreal/HelloUnreal.uproject" -TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDEUsing bundled DotNet SDK version: 6.0.302Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" Development Win64 -Project="C:/UE5Part1/HelloUnreal/HelloUnreal.uproject" -TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDELog file: C:\Users\user\AppData\Local\UnrealBuildTool\Log.txtCreating makefile for HelloUnrealEditor (no existing makefile)@progress push 5%Parsing headers for HelloUnrealEditorRunning Internal UnrealHeaderTool C:\UE5Part1\HelloUnreal\HelloUnreal.uproject C:\UE5Part1\HelloUnreal\Intermediate\Build\Win64\HelloUnrealEditor\Development\HelloUnrealEditor.uhtmanifest -WarningsAsErrors -installedTotal of 0 writtenReflection code generated for HelloUnrealEditor in 0.6614988 seconds@progress popBuilding HelloUnrealEditor...Using Visual Studio 2022 14.39.33520 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).Determining max actions to execute in parallel (12 physical cores, 20 logical cores)Executing up to 12 processes, one per physical core------ Building 6 action(s) started ------[1/6] Resource Default.rc2[2/6] Compile [x64] SharedPCH.Engine.Cpp20.cppC:\Program Files\Epic Games\UE_5.3\Engine\Source\predefined C++ types (compiler internal)(420): error C2248: 'FHazardPointerCollection::FHazardRecord::FHazardRecord': private ??('FHazardPointerCollection::FHazardRecord' Ŭ???????? ?????? ????? ?????ϴ?C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\Core\Public\Experimental\Containers\HazardPointer.h(86): note: 'FHazardPointerCollection::FHazardRecord::FHazardRecord' ????? ????ʽÿ?C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\Core\Public\Experimental\Containers\HazardPointer.h(77): note: 'FHazardPointerCollection::FHazardRecord' ????? ????ʽÿ?C:\Program Files\Epic Games\UE_5.3\Engine\Source\predefined C++ types (compiler internal)(420): note: ???? ??????ȭ ????Ʈ(??? ???????????ȭ ????Ʈ)??C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\Core\Public\Experimental\Containers\HazardPointer.h(133): note: ????Ǵ???????? ??????ȭ 'void __builtin_array_init_helper<FHazardPointerCollection::FHazardRecord>(_T *,size_t) noexcept(<expr>)'?? ??????? Ȯ??????with[_T=FHazardPointerCollection::FHazardRecord]Total time in Parallel executor: 9.94 secondsTotal execution time: 12.41 seconds
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
46:35 friend 키워드
안녕하세요, 이해가 잘 안 가는 부분이 있습니다.46:35 쯤 friend 키워드를 사용해서 gettypehash 함수를 안쪽에 선언한다고 말씀 하셨습니다. 구조체는 기본적으로 전역이기 때문에friend를 선언하면 구조체의 멤버 함수였던 gettypehash 함수가 구조체 변수에 접근이 가능하면서 전역으로 사용이 가능한 전역 함수가 된다고 이해하면 되는지 궁금합니다.
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
언리얼 오브젝트 메모리 관리에 대해 질문 있습니다.
안녕하세요일반 클래스에서 언리얼 오브젝트를 관리 할때 FGCObject를 상속 받아서 관리 했는데 나중에 일반 클래스가 삭제되고 나서 언리얼 클래스는 언제 삭제 되나요?감사합니다
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
13강 언리얼오브젝트를 직렬화할 때는 반드시 메모리 아카이브(FMemoryReader, FMemoryWriter)를 거쳐서 직렬화를 해야 하는 건가요?
if (TUniquePtr<FArchive> FileWriterAr = TUniquePtr<FArchive>(IFileManager::Get().CreateFileWriter(*ObjectDataAbsolutePath))) { StudentSrc->Serialize(*FileWriterAr); FileWriterAr->Close(); } UStudent* StudentDest = NewObject<UStudent>(); if (TUniquePtr<FArchive> FileReaderAr = TUniquePtr<FArchive>(IFileManager::Get().CreateFileReader(*ObjectDataAbsolutePath))) { StudentDest->Serialize(*FileReaderAr); FileReaderAr->Close(); }FileWriter, FileReader를 통해 직접 직렬화를 해보려고 코드를 수정해봤는데 안되네요...
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
"generated.h" 의 위치에 대해서 궁금한 점이 있습니다.
안녕하세요. 강의를 듣다 궁금한 점이 생겨 질문해봅니다.강의 중에 헤더에서 'generated.h' 는 항상 밑에 있어야 하고, cpp에서는 해당 클래스의 include 가 항상 가장 위쪽에 있어야 하는 이유가 궁금해졌습니다. 인터넷에 여러가지 검색을 해봤으나, 제대로 된 답을 찾지 못했고, ChatGPT를 통해 검색해보니,"먼저 #include "Student.generated.h" 가 나와 Student 클래스의 종속성을 로드하려고 하지만, Person 클래스에 대한 정보가 아직 로드되지 않았기 때문에 에러가 발생합니다." 라는 답변이 나왔는데, 이 사실이 맞는지 정확히 믿기 힘들어 질문드립니다.
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
3강에서 30분 내용이 전혀 이해가 안되는 수준이면 무엇이 부족한걸까요?
제목 그대로 입니다. TCHARFString같은 수준인줄 알았는데 갑자기 간접지정연산자로 접근을 해야 할당이 되질 않나 이게 무슨 관계인지 모르겠고,Fstring이 이미 Tchar배열형이랑 같은 수준인데 GetcharArray의 GetData라니 이게 무슨관계인지 모르겠습니다.C++에 대한 이해가 부족한걸까요? 멍때리고 보다가 뭘본건지 모르겠어서 질문올립니다... 제가 무엇을 더해야 이해를 할 수 있을까요? ㅠ
- 해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
Content Brower 안뜨게 할순 없을까요?
안녕 하세요.언리얼 엔진을 처음에 구동하면Content Brower이 자동으로 뜹니다.이거 안뜨게 할순 없을까요?언리얼 에디터만 떴으면 좋겠습니다.