※この記事で使用しているUnrealのVersionは04.20.3です。~基本編~では、大雑把にDataTableの初歩的なことについて記事にしました。実際の現場はどんな使い方をしているのでしょうか?(僕が見てきた中で)よくあるのが、エクセル、CSV、DataTableをワンセットで扱うものです。エクセルで計算などを行い、VBA等でCSVに出力。それをUnrealにインポートするというフローになります。マップリストのDataTableを作る場合。いう感じで作るでしょう。しておけばいちいちマップを開いて中のプロパティをいじる必要なくマップの情報を更新できます。エクセルと実際のレベルデータに食い違いがある場合や、CSVへのエクスポート・DataTableへのReimportを忘れたりすると、バグの温床になりかねない。(情報の一元化ができない)しっかりと開発体制を整えレギュレーションを決めれば問題なく機能する設計ではあります。個人的には同じ情報がExcel・CSV・DataTableと3つもあるのは何か気持ち悪い。プレイヤーのマップごとのスタート地点がリストになったデータテーブルがあるとしましょう(何かしらの理由でShipping版にはPlayerStartアクターを起きたくない場合など)このリストを1:実際のマップを開き、Shippingに含まないサブレベルに、想定される復帰地点に適当なアクターを置き、そのDetailの情報をコピー2:エクセルに入力。3:CSVエクスポート。4:DataTableへImportこんな風に作るのはおかしい!と思いましょう。情報が一度Unrealから出て、再びUnrealへ戻ってくるという(しかも同じ情報が)やらないほうがいい類の設計かと思います。(何かしらの外部情報と掛け合わせる場合を除く)Unreal内で完結できるものは、Unrealで完結させましょうC++で拡張すれば手っ取り早く出来ますが、そんなことをしなくても、Blueprintだけでも問題なくできるかと思います。Blueprints(Blutility)」にチェックを入れます。することで、「ブループリントユーティリティ(Blutility)」というBlueprintを作成できるようになります。このBlutilityを作成します。作成する際の親クラスですが、今回は「AssetActionUtility」というクラスを指定して作成します。このBlueprintAssetですが、普通にダブルクリックをしても、イベントグラフは出てきません。右クリック→「ブループリントの編集」を選択することでBlueprintを編集できます。今回のポイントは、最近実装された、DataTableのReimport関数です。↑画像の下2つの関数を使うことで、Unreal内のみでReimportが完結するようになります。実際に手間を省くブループリントを書いていきましょう。前提条件として1,メインのレベルの命名規則はPL_XXXX(XXXXは固有の名前)2,Shippingに含めない、PlayerStartのみがおいてあるレベルの命名規則をPL_XXXX_DummyLV3,レベルはすべて/Game/Map以下のフォルダにある4,DummyLVにあるPlayerStartの位置・回転情報を指定したDataTableにReimportしたい。