BLOGブログ

2021.09.29UE4UE/ Blueprint

[UE4]Pathを返してくれるノード一覧

執筆バージョン: Unreal Engine 4.26

ブループリントで取得できるPathに関してのご紹介です。

EditorUtilityWidgetを使っている時や、エンタープライズなお仕事で、特定のフォルダ(ディレクトリ)にアクセスしたいことがあると思います。

UEにはそんな場合に使えそうなノードが用意されていて、公式ドキュメントではそれらがほぼすべて網羅されております。

公式ドキュメント
https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Utilities/Paths/

使ってみると返ってくるPathが相対パスだったり絶対パスだったりとまちまちで、しかもエディタかパッケージかで挙動が変わる物もあるのですがその辺がドキュメントにはなかったので少し調べてみました。

(今回は時間の都合で、戻り値がArrayじゃない取得ノードのみの解説です。近いうちに他のPath操作系のノードなどもまとめられたらと思っています)

 

環境はほぼプレーンなBluePrintOnlyプロジェクトで確認しました。

おそらくエディタ設定やプロジェクト設定などに引っ張られて変わる物もあると思われますので、必ずしも記事通りのPathが返るとは限りません。そこはご注意ください。

 

ノード

Editor
or
Build

戻り値

備考

Project系

Automation Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/Automation/
Development Build ../../../[プロジェクト名]/Saved/Automation/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/Automation/
Automation Transient Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/Automation/Tmp/
Development Build ../../../[プロジェクト名]/Saved/Automation/Tmp/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/Automation/Tmp/
Automation Log Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/Automation/Logs/
Development Build ../../../[プロジェクト名]/Saved/Automation/Logs/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/Automation/Logs/
Bug It Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/BugIt/Windows/
Development Build ../../../[プロジェクト名]/Saved/BugIt/WindowsNoEditor/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/BugIt/WindowsNoEditor/
Cloud Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/Cloud/
Development Build ../../../[プロジェクト名]/Saved/Cloud/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/Cloud/
Diff Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/Diff/
Development Build ../../../[プロジェクト名]/Saved/Diff/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/Diff/
Game Developers Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Content/Developers/
Development Build ../../../[プロジェクト名]/Content/Developers/
Shipping Build ../../../[プロジェクト名]/Content/Developers/
Game Source Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Source/ 上と下もですが頭の単語GameよりProjectのほうが分かりやすいような…
Development Build ../../../[プロジェクト名]/Source/
Shipping Build ../../../[プロジェクト名]/Source/
Game User Developer Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Content/Developers/[ユーザー名]/
Development Build ../../../[プロジェクト名]/Content/Developers/[ユーザー名]/
Shipping Build ../../../[プロジェクト名]/Content/Developers/[ユーザー名]/
Generated Config Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/Config/
Development Build ../../../[プロジェクト名]/Saved/Config/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/Config/
Get Project Content Directory
Editor D:/xxx/yyy/[プロジェクトフォルダ]/Content/ Project Content Dirと同じディレクトリを示すが、こちらは絶対パスを返す
Development Build D:/xxx/yyy/WindowsNoEditor/[プロジェクト名]/Content/
Shipping Build D:/xxx/yyy/WindowsNoEditor/[プロジェクト名]/Content/
Get Project Directory
Editor D:/xxx/yyy/[プロジェクトフォルダ]/ Project Dirと同じディレクトリを示すが、こちらは絶対パスを返す
Development Build D:/xxx/yyy/WindowsNoEditor/[プロジェクト名]/
Shipping Build D:/xxx/yyy/WindowsNoEditor/[プロジェクト名]/
Get Project File Path
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/project.uproject パッケージ時は残念ながらexeへのパスを取れたりせず、存在しないuprojectを示す模様
Development Build ../../../[プロジェクトフォルダ]/project.uproject
Shipping Build ../../../[プロジェクトフォルダ]/project.uproject
Get Project Saved Directory
Editor D:/xxx/yyy/[プロジェクトフォルダ]/Saved/ Project Saved Dirと同じディレクトリを示すが、こちらは絶対パスを返す
Development Build D:/xxx/yyy/WindowsNoEditor/[プロジェクト名]/Saved/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/
Profiling Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/Profiling/
Development Build ../../../[プロジェクト名]/Saved/Profiling/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/Profiling/
Project Config Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Config/
Development Build ../../../[プロジェクト名]/Config/
Shipping Build ../../../[プロジェクト名]/Config/
Project Content Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Content/ Get Project Content Directoryと同じディレクトリを示すが、こちらは相対パスを返す
Development Build ../../../[プロジェクト名]/Content/
Shipping Build ../../../[プロジェクト名]/Content/
Project Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/ Get Project Directoryと同じディレクトリを示すが、こちらは相対パスを返す
Development Build ../../../[プロジェクト名]/
Shipping Build ../../../[プロジェクト名]/
Project Intermediate Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Intermediate/
Development Build ../../../[プロジェクト名]/Intermediate/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Intermediate/
Project Log Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/Logs/
Development Build ../../../[プロジェクト名]/Saved/Logs/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/Logs/
Project Mods Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Mods/
Development Build ../../../[プロジェクト名]/Mods/
Shipping Build ../../../[プロジェクト名]/Mods/
Project Persistent Download Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/PersistentDownloadDir なぜか末尾のスラッシュが外れているのでご注意
Development Build ../../../[プロジェクト名]/Saved/PersistentDownloadDir
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/PersistentDownloadDir
Project Plugins Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Plugins/
Development Build ../../../[プロジェクト名]/Plugins/
Shipping Build ../../../[プロジェクト名]/Plugins/
Project Saved Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/ Get Project Saved Directoryと同じディレクトリを示すが、こちらは相対パスを返す(Shipping時のみ絶対パスなので注意)
Development Build ../../../[プロジェクト名]/Saved/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/
Project User Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/ Developersフォルダを示すわけではないので注意(Project Dirと同じ挙動?)Shipping時のみProject Dirと違いAppDataフォルダを示す
Development Build ../../../[プロジェクト名]/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/
Sandboxs Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/Sandboxes
Development Build ../../../[プロジェクト名]/Saved/Sandboxes
Shipping Build ../../../[プロジェクト名]/Saved/Sandboxes
Screen Shot Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/Screenshots/Windows/
Development Build ../../../[プロジェクト名]/Saved/Screenshots/WindowsNoEditor/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/Screenshots/WindowsNoEditor/
Source Config Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Config/ Project Config Dirと同じ挙動をしている?
Development Build ../../../[プロジェクト名]/Config/
Shipping Build ../../../[プロジェクト名]/Config/
Video Capture Dir
Editor ../../../../../[プロジェクトフォルダの親]/[プロジェクトフォルダ]/Saved/VideoCaptures/
Development Build ../../../[プロジェクト名]/Saved/VideoCaptures/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/[プロジェクト名]/Saved/VideoCaptures/

Engine系

Engine Config Dir
Editor ../../../Engine/Config/
Development Build ../../../Engine/Config/
Shipping Build ../../../Engine/Config/
Engine Content Dir
Editor ../../../Engine/Content/
Development Build ../../../Engine/Content/
Shipping Build ../../../Engine/Content/
Engine Dir
Editor ../../../Engine/
Development Build ../../../Engine/
Shipping Build ../../../Engine/
Engine Intermediate Dir
Editor ../../../Engine/Intermediate/
Development Build ../../../Engine/Intermediate/
Shipping Build ../../../Engine/Intermediate/
Engine Plugins Dir
Editor ../../../Engine/Plugins/
Development Build ../../../Engine/Plugins/
Shipping Build ../../../Engine/Plugins/
Engine Saved Dir
Editor C:/Users/[ユーザー名]/AppData/Local/UnrealEngine/4.26/Saved/
Development Build ../../../Engine/Saved/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/UnrealEngine/4.26/Saved/
Engine Source Dir
Editor ../../../Engine/Source/
Development Build ../../../Engine/Source/
Shipping Build ../../../Engine/Source/
Engine User Dir
Editor C:/Users/[ユーザー名]/AppData/Local/UnrealEngine/4.26/
Development Build ../../../Engine/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/UnrealEngine/4.26/
Engine Version Agnostic User Dir
Editor C:/Users/[ユーザー名]/AppData/Local/UnrealEngine/Common/
Development Build ../../../Engine/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/UnrealEngine/Common/
Game Agnostic Saved Dir
Editor C:/Users/[ユーザー名]/AppData/Local/UnrealEngine/4.26/Saved/ 基本EngineSavedDirと同じPathが返るとドキュメントに明記されている
Development Build ../../../Engine/Saved/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/UnrealEngine/4.26/Saved/

その他

Enterprise Dir
Editor D:/xxx/yyy/[エンジン保存フォルダ]/UE_4.26/Enterprise/
Development Build D:/xxx/yyy/WindowsNoEditor/Enterprise/
Shipping Build D:/xxx/yyy/WindowsNoEditor/Enterprise/
Enterprise Feature Pack Dir
Editor D:/xxx/yyy/[エンジン保存フォルダ]/UE_4.26/Enterprise/FeaturePacks/
Development Build D:/xxx/yyy/WindowsNoEditor/Enterprise/FeaturePacks/
Shipping Build D:/xxx/yyy/WindowsNoEditor/Enterprise/FeaturePacks/
Enterprise Plugins Dir
Editor D:/xxx/yyy/[エンジン保存フォルダ]/UE_4.26/Enterprise/Plugins/
Development Build D:/xxx/yyy/WindowsNoEditor/Enterprise/Plugins/
Shipping Build D:/xxx/yyy/WindowsNoEditor/Enterprise/Plugins/
Feature Pack Dir
Editor D:/xxx/yyy/[エンジン保存フォルダ]/UE_4.26/FeaturePacks/
Development Build D:/xxx/yyy/WindowsNoEditor/FeaturePacks/
Shipping Build D:/xxx/yyy/WindowsNoEditor/FeaturePacks/
Get Relative Path to Root
Editor ../../../
Development Build ../../../
Shipping Build ../../../
Launch Dir
Editor D:\xxx\yyy\[プロジェクトフォルダ]/ (コマンドラインを挟まないなら)uprojectとexeのある階層をRootとして扱えるディレクトリを返してくれる
Development Build D:\xxx\yyy\WindowsNoEditor/
Shipping Build D:\xxx\yyy\WindowsNoEditor/
Root Dir
Editor D:/xxx/yyy/[エンジン保存フォルダ]/UE_4.26/ Editor時、ProjectのRootを返しそうですが、EngineのRootを返すので注意(ドキュメントにも明記されている)
その割にパッケージ時はexeのRootを返す
Development Build D:/xxx/yyy/WindowsNoEditor/
Shipping Build D:/xxx/yyy/WindowsNoEditor/
Shader Working Dir
Editor C:/Users/[ユーザー名]/AppData/Local/Temp/UnrealShaderWorkingDir/
Development Build C:/Users/[ユーザー名]/AppData/Local/Temp/UnrealShaderWorkingDir/
Shipping Build C:/Users/[ユーザー名]/AppData/Local/Temp/UnrealShaderWorkingDir/