I spent a week ckecking and testing all methods of FPaths. And it seems that there is no useful ones. Ok maybe a couple. For example NormalizeDirectoryName() returns proper path to IFileManager.FindFiles.
I wonder how all these people at AH and devs use FPaths. Just for cheking files? Or creating folders? I really want to know to improve my dumb skill. Already scary about furher tasks and other classes…
P.S. Also noticed about 90% of questions about path conversions and issues are not answered))
FPaths is heavily used within the engine. It has very little practical use outside of it unless you wish to dynamically load files, create directories for user created content, or do a bunch of IO operations. FPaths is really just a platform agnostic facade/adapter.
You tell me the same thing I hear all the time questioning about dynamically load. But. Nobody can tell me how relative format (/Game/Relative/Path/Filename.ext) is connected with billions of methods of FPaths, IFileManager and so on. There is no returnings in that format)) I hope i’m not right and just missed right method… So far I have to use TCString ((((((
Internally relative paths that start with /Game/ are changed to GammeContentDir() while relative paths that start with /Script/ go though some kind of reflection to get the appropriate class.
TCString is for parsing, formatting, and casting. It has very little to do with FPaths. I don’t feel like I understand what your question is. There is no need for you to understand why the formats work - you just need to know that those are the formats for loading an object or a class respectively. Referencing any sort of file not managed by UE4 is done with the traditional FPaths::GetWhateverDir () + RELATIVE_PATH.