プロジェクトにソースコードを追加したらC++であり得ない現象が起きたんだが。
追加したソースとは全く無関係なcppの中の無名名前空間内で定義してる定数が再定義されたとかいうエラーが出て
確かに別のcppでも同名の定義はあるものの内部リンケージのはずだし、ファイル追加前は普通にビルド通ってた。
色々試してみたら空のcppファイルをソースフォルダ内に追加で置いているだけで(プロジェクトに追加してない状態でも)
全てのcpp内の無名名前空間内の定義が同モジュールの他のソースから参照可能になっているっぽい。
Unreal C++のバグ?