Unreal Engine 4に関するメモ書き。
APlayerController::ConsoleCommand
関数で文字列リテラルのコンソールコマンドを実行することができる。
UFUNCTIONの仮引数名Param
と、そのUFUNCTIONを定義しているクラスまたは親クラスClassName
のメンバ変数名が被っていると表題のように怒られる。
UFUNCTIONをメンバ変数より後ろで宣言すると、なぜかエラーは解消する。
class NG { UPROPERTY() FString Hoge; UFUNCTION() void SetHoge(FString Hoge); // ここでビルドエラー }; class OK { UFUNCTION() void SetHoge(FString Hoge); // なぜか通る UPROPERTY() FString Hoge; };
UFUNCTIONのmetaでデフォルト引数が設定できる。void Func(VarType Arg)
という関数があったとして、VarTypeが…
データが英数字のみで構成されており、かつ _ - + . / : の何れかの文字を含むと、その文字の場所でデータが切れる事がある。FNameの制限というか仕様?っぽい。
正しくインポートするには三重ダブルクオーテーションで囲む必要がある。
詳しい条件はソースコードのそれっぽい所を参照の事(当該箇所を明示して良いのかわからんので一応伏せておく)。NamePropertyを作ってる場所なのでDataTableに限らずアセットに含まれる全てのFNameに当てはまりそうな気がする…