
FString과 FText는 Unreal Engine에서 문자열 데이터를 처리하는 데 사용되지만, 그 용도와 사용 시점은 서로 다르다. 두 클래스를 올바르게 사용하는 것이 성능 최적화와 다국어 지원 측면에서 중요하다.
FString은 기본적으로 문자열 데이터를 처리하기 위한 Unreal Engine의 클래스이다. C++의 std::string과 비슷하지만 Unreal Engine의 기능과 통합되어 있다.
FString은 FText보다 오버헤드(overhead)가 적기 때문에 고성능 작업에 적합하다.FString PlayerName = "Player1";
FString FilePath = FPaths::ProjectDir() + "SaveData.txt"
FText는 주로 다국어 지원과 UI 텍스트 관리에 초점을 맞춘 클래스이다. Unreal Engine의 로컬라이제이션(Localization) 시스템과 통합되어 있다.
FText를 사용해야 한다.FText는 문자열의 저장된 상태(Sanitizaed State)와 원문(Source Text)를 관리한다.FText WelcomeMessage = NSLOCTEXT("MainMenu", "Welcome", "Welcome to the Game!");
FText ButtonLabel = FText::FromString("Start");
FStringFTextFString은 성능과 단순 문자열 처리가 중요한 경우 사용한다. 예를 들어 파일 경로, 데이터 처리 등의 내부 작업에 사용한다.
FText는 사용자에게 표시되거나 번역이 필요한 텍스트에 사용한다. 예를 들어 UI 텍스트, 게임 메시지 등에 사용한다.