Why Unreal Engine 4 still uses TCHAR? What are the benefits not using wchar_t (if implementation and source uses Unicode, it still can be UTF16LE/BE or UTF32 depending on platform), or char with UTF8 literals? Historical reasons or do I miss important things?
I’m asking b/c using UE4 it seems to me that I can’t be sure to know which type of character I’m facing, so interfacing FStrings e.g. with the C++ standard library is annoying - it can be char or wchar_t depending on how the TEXT() macro is resolved. I assume it is mostly wchar_t since L is prepended as default in Platform.h:
// If we don't have a platform-specific define for the TEXT macro, define it now. #if !defined(TEXT) && !UE_BUILD_DOCS #define TEXT_PASTE(x) L ## x #define TEXT(x) TEXT_PASTE(x) #endif