Unreal Game Sync (UGS) で発生する多くの問題に対応できるように、ユーザーが正しく動作すると考えているオプションに関する問題点の詳細を提供するツールチップが装備されています。
基本的なトラブルシューティング
Unreal Game Sync について Epic や IT 部門に質問する必要がある場合は、設定内容に関する基本情報をご提供ください。この情報により、より的確で効果的なサポートを提供することができます。次に例をいくつか示します。
UGS を使用することなく、問題が再現されるかどうか確認します。UGS に関係しているように見えても、そうでないことがよくあります。たとえば、次のように確認します。
クラッシュが発生する場合、UGS を使用しないでエディタを開きます。
Perforce の同期で問題が発生する場合は、UGS を経由せずに、Perforce のみを使用します。
それでも UGS に関連した問題が解消されない場合は、的確なサポートを受けるために、実際に問題が発生している領域を担当するチームや部門に問い合わせる必要があります。
UGS の最新バージョンを使用しているかどうかを確認します。バージョン情報は [Diagnostics (診断)] メニュー (メイン ページ > [Options (オプション)] > [Diagnostics... (診断...)]) から確認できます。または、「
C:\Users[user]\AppData\Local\UnrealGameSync\
」にある「UnrealGameSync.log
」にも記載されています。最新バージョンを使用していないことが、メタデータや UGS の更新に関連する問題の原因であることがよくあります。発生した問題が UGS に起因すると特定できた場合は、まず以下の一般的な問題を参照してください。
コンパイル エラーのトラブルシューティング
多くのコンパイル エラーは、簡単なトラブルシューティング手順で解決できることがあります。
コンパイルが失敗したステップを特定します。たとえば、Unreal Header Tool、Shader Compile Worker などです。
[Project Overview (プロジェクトの概要)] エリアで [More... (詳細...)] > [Clean Workspace (ワワークスペースを消去)] を選択し、Unreal Game Sync でワークスペースを消去します。その後、再度同期とコンパイルを実行します。
「
UE5.sln
」を削除してから、「GenerateProjectFiles.bat
」 (Windows) または「GenerateProjectFiles.command
」 (Mac) を手動で実行し、もう一度同期とコンパイルを行います。Visual Studio や XCode を使用して手動でコンパイルを実行します。
Good (緑の円) とマークされた変更リストに対して同期やコンパイルを実行します。
それでも失敗する場合は、 [Options (オプション)] > [Use Incremental Builds (インクリメンタル ビルドを使用)] で False を選択します。
もう一度コンパイルを実行します。
[Sync Precompiled Editor (プリコンパイル済みのエディタを同期)] が無効であることを確認します。
使用できるのは特定のストリームのみです。
Perforce でワークスペースが正しく設定されていることを確認します。
これは多くの状況で有効な手順ですが、ワークスペース内に追加のファイルがある場合には対応できません。ワークスペースが複雑になり管理が困難な場合は、IT 部門に連絡してサポートを受けることをお勧めします。またはワークスペースを再作成し、データを再同期してください。
特定の問題
プリコンパイル済みのバイナリを検出できない。
PCB の検出には、時間かかる場合があります。UGS は最初にすべての CL をロードし、次にどの PCB が利用可能かを確認するためにそれらの CL を相互に参照します。接続速度が遅い場合、この処理には時間がかかるため、しばらく待機する必要があります。
それでも問題が解決しない場合は、バイナリが格納されているストリームのアクセス権に問題があるか、ビルド状態の問題のために適切な作成やアップロードが行われていない可能性があります。Perforce 管理者に問い合わせて、そのビルドでプリコンパイル済みのバイナリを正常にアップロードしていること、そして自分にアクセス権が付与されていることを確認してください。
[Sync Precompiled Binaries] の上にマウス カーソルを合わせると表示されるツールチップでも、この問題をデバッグする際に役立つ情報を確認できます。
接続できない。
これは通常、Perforce またはローカル ネットワークの問題です。この問題はバージョン 2019.2 で確認されているため、開始する際は 2019.2 以外のバージョンを使用してください。また、P4V を使用して Perforce サーバーに再ログインすると問題が解消されることがあります。
初回の設定で
Failed to sync application
というエラーが発生し、 ログにCouldn't find last changelist
が含まれている場合は、 [Depot Path (デポ パス)] 設定で Perforce 管理者から提供された適切な Perforce の場所を指定していること、また、そのパスの形式が以下の例に示すように、2 つのスラッシュで始まり、Perforce デポを示し、末尾がスラッシュでないことを確認してください。//depot/path/to/UnrealGameSync/bin
そしてもう一度 [Connect (接続)] をクリックします。すべての設定が正しく、Perforce バージョンも 2019.2 ではない場合、Perforce 管理者に問い合わせてデポ パスのアクセス権が自分に付与されていることを確認してください。
**長すぎるパスにより同期やビルドが失敗する**。
ほとんどの Windows バージョンではパスに 260 文字の制限があり、UGS でもこの制限を回避することはできません。実際、UGS で 260 文字を超えるパスが検出されと、プロジェクトの同期が完全にブロックされます。現時点で、このチェックを UGS で無効化する方法はありません。
この問題を解決するためには、ワークスペースをルートに近いフォルダに設定する必要があります (「D:/prj/workspace/
」など)。また、ファイル名をできるだけ短くするファイル命名構造を使用してください。
さらに、この問題は、 .uproject
ファイルの代わりに .uprojectdirs
ファイルを使用してプロジェクトを同期するように設定した場合にも、まれに発生することがあります。その場合は、UGS で代わりに .uproject
ファイルを使用してプロジェクトを設定することで回避できます。
[Settings (設定)] を選択します
[Browse (参照)] を選択して、使用するワークスペースの [Name (名前)] と [Path (パス)] を設定します。
ワークスペース名:
ワークスペースのパス:
設定チュートリアルに記載されている
.uprojectdirs
ファイルではなく、そのストリーム内の.uproject
ファイルを選択します。もう一度、同期を実行します。
**UGS が自動更新しない。**
ケース 1:これは、通常、マシンでファイルの競合が発生していることに起因します。この問題を解決するには、UGS を閉じて、実行しているアクティブな UGS プロセスがないことを確認し、そして通常、更新を妨げている競合するファイルを含む「
[AppData]/Local/UnrealGameSync/Latest/
」を削除します。このフォルダの削除に失敗した場合は、どのファイルで競合が発生しているか、それを保持しているプロセスがどれかについて、情報が表示されます。そのプロセスを停止できない場合は、再起動で問題が解消され、フォルダを削除できるようになります。
その後、UnrealGameSyncLauncher を使用して最新の更新をダウンロードできます。
UGS の設定方法によっては、再起動、フォルダの削除、スタートアップ アプリケーションへの UGS の再追加、その状態での再起動の前に、スタートアップ アプリケーションから Unreal Game Sync を削除する必要がある場合があります。
ケース 2:ユーザーに適切な接続がない場合や、必要なアクセス権がなく UGS の更新されたバイナリがある Perforce パスを表示できない場合は、UGS が無期限にハングして、次の手順に進めません。その場合は、接続設定で [Depot Path] を更新するか、または Perforce 管理者に依頼してファイルへの正しいアクセス権を取得してください。
「Can't find files」に関連するランダム ビルド エラー。
これは通常 Perforce に関連するエラーであり、必ずしも UGS に関連しているわけではありません。ワークスペースに問題がある場合は、まずエンジンのディレクトリ全体を強制的に同期します。それでも問題が解消しない場合は、新しいワークスペースを作成します。
また、この問題は同期フィルタが適切に構成されていない場合にも発生します。この場合は、ビルドの重要要素 (「Win64」フォルダなど) をフィルタで除外しているか、同期フィルタがカバーしているファイルの依存関係が誤って導入されています。詳細については、「UGS Sync Filter Setup (同期フィルタ)」を参照してください。
エディタの UGS コピーによるクック処理が失敗する。
UGS から配布されたエンジンのプリコンパイル済みバイナリ バージョンで、クックやパッケージ化を行う際に ERROR: Failed to find command BuildCookRun
といったエラーが表示される場合は、 この操作に必要なソース フォルダが不足していることが原因である可能性があります。
現在、実際にソース コードを作成していない場合でも、UGS が必要とするプリコンパイル済みバイナリを使用してクックまたはパッケージ化を行うためのソース ディレクトリが必要です。 この処理がワークフローの一部である場合は、同期フィルタからソース ディレクトリを除外していないことを、直接そのディレクトリを使用していない場合でも確認してください。
コンパイラの制限:内部ヒープの上限に達した。
次のようなエラーがコンパイル時に表示される場合は、
Fatal Error C1060:Compiler is out of Heap Space
Fatal Error C1076: compiler limit: internal heap limit reached; use /Zm to specify a higher limit
Error C3859: virtual memory range for PCH exceeded; please recompile with a command line option of '-Zm123' or greater
回避策を講じる必要があります。
短期的な回避策: マシンを再起動してメモリのキャッシュをクリアすると、コンパイルに対するブロックを一時的に解除できます。
長期的な解決策: 問題の詳細情報を揃えたうえで IT 部門に問い合わせます。場合により、 コントロール パネル で最大ページ ファイルのサイズを増やすと改善されることがありますが、これは多くのスタジオで IT 部門が担当する作業です。
(Windows) ゲームやエディタを起動しても何も起こらない、または奇妙なエラーでエディタがすぐにクラッシュする。
この問題はほとんどの場合、これまで Unreal を実行するように構成されたことがないマシンで発生します。新しいマシンですべてが同期されおり、その他がすべて正しく機能しているにもかかわらず、起動すると何も起こらない場合は、次の場所にある「UEPrereqSetup_x64.exe
」アプリケーションを実行します。
<Path to Workspace>/Engine/Extras/Redist/en-us
これにより、これまで Unreal が実行されたことのないマシンに、Unreal の実行に必要な前提条件ファイルがインストールされます。
起動時に UGS がクラッシュする。
UnrealGameSync は P4 コマンドライン ツールを使用して Perforce に更新があるかどうかをクエリします。線形起動時にクラッシュする最も一般的な原因は、コマンドライン ツールをインストールしていないことです。
この問題を解決するには、次の手順を実行します。
もう一度 Perforce クライアント インストーラを実行します。
インストールする際は、コマンドライン ツールを必ず含めます。
P4 コマンドライン ツールで以下について確認します。
コマンド ウィンドウを開きます。
「P4」と入力します。
Enter キーを押します
P4 コマンドライン ツールがインストールされている場合は、一連のヘルプ コマンドが出力されます。
P4 コマンドライン ツールがインストールされていない場合は、エラー メッセージ
File not found
が出力され、
プロジェクト ファイルの生成時にエラーが発生します。
プロジェクト ファイルの生成時に、次のようなエラーが表示された場合、
Setting up Unreal Engine 4 project files...
UnrealBuildTool Exception:System.FormatException:Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
at System.String.Format(String format, Object[] args)
…
ERROR:UnrealBuildTool was unable to generate project files.Press any key to continue . . .Failed to generate project files (exit code 1).
通常、このエラーの原因は Visual Studio コンポーネントの不足です。
「Visual Studio のセットアップ」ドキュメントの手順に従って Visual Studio コンポーネントがインストールされていることを確認してください。
次のようなエラーが表示された場合は、
error MSB3644:The reference assemblies for framework ".NETFramework,Version=v4.6.2" were not found.
エラー:System.ComponentModel.Win32Exception
UGS を使用したビルドで、次のエラーが表示された場合、
ubt> Using Visual Studio 2017 14.16.27023 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023) and Windows 10.0.17763.0 SDK (C:\Program Files (x86)\Windows Kits\10).
ubt> ERROR:System.ComponentModel.Win32Exception (0x80004005):The system cannot find the file specified
このエラーの原因は、.NET Framework と他のデベロッパー パッケージをインストールした後、コンピュータを再起動することなく同期を実行したことです。
この問題を解決するには、コンピュータを再起動してプロジェクト ファイルを再度生成してから、再度ビルドを行います。
エラー:System.UnauthorizedAccessException
これは通常、UGS のバージョンをしばらく更新していない場合に発生し、次のようなエラーが表示されます。
UnrealGameSync has crashed.
System.UnauthorizedAccessException:Access to the path
この問題を解決するには、次の手順を実行します。
「
C:[user]\AppData\Local\UnrealGameSync
」に移動します。「UnrealGameSync.ini」を削除します。
このファイルを削除すると、次を含むユーザー データが削除されます。
保存済みのビルド コンフィギュレーション。
エディタのコマンドライン引数。
お気に入りに登録されているオープン プロジェクト。
プリコンパイル済みのエディタとインクリメンタル ビルドの選択。
Couldn't find any Perforce workspace containing .../.uproject.Check your connection settings.
初めて UGS を設定する際に、ローカル ファイル ダイアログを使用したプロジェクトの追加で上記のエラーが表示された場合は、
同じファイルを [Open Project... (プロジェクトを開く...)] -> [Workspace (ワークスペース)] -> [New… (新規…)] ダイアログから追加します。
この操作を行うことができない場合は、Perforce のアクセス権に問題があります。ワークスペースがターゲットとするストリームおよびファイルへのアクセス権が自分に正しく付与されていることを Perforce 管理者に確認する必要があります。
サーバーへの接続に失敗する。
認識できないポート番号を使用して Perforce サーバーに接続すると、次のエラーを返します。
Perforce client error:Connect to server failed; check $P4PORT
この問題を解決するには、次の手順を実行します。
コマンド/ターミナル ウィンドウを開きます
「
p4 set P4PORT=<管理者から指定された P4 のローカル ポート>
」と入力します。Enter キーを押します。
UGS を閉じて、再起動します。
同様に、不明なユーザーとして接続すると、次のエラーが表示されます。
Access for user 'USERNAME' has not been enabled by 'p4 protect'
このエラーを修正するには、コマンド ウィンドウを開き、
「
p4 set P4USER=<perforce.username>
」と入力します。Enter キーを押します。
UGS を閉じて、再起動します。
System.Io.FileNotFoundException:Ionic.Zip.Reduced
「C:\Users[User.name]\AppData\Local\UnrealGameSync\Latest
」に「Ionic.Zip.Reduced.dll
」があることを確認します。
このファイルがない場合はワークスペースに不足しているファイルがある可能性があるため、ワークスペースの「Engine\Binaries」フォルダを強制的に同期する必要があります
ある場合は、ウイルス対策ソフトウェアによって隔離されていないことを確認します。使用しているウイルス対策ソフトウェアの手順に従い、ファイルを「信頼済み」に設定します
この方法がわからない場合は、次の手順を実行します。
タスク マネージャーで UGS を終了します。
「
C:\Users[User.name]\AppData\Local\UnrealGameSync\Latest
」の内容を削除します。UGS を再起動します。
UGS が開いたら、そのファイルが現在存在していることを確認します。
UGS が正しいプロキシ サーバーを使用していない。
[Diagnostics (診断)] メニュー (メイン ウィンドウの右下の [Options (オプション)] ->[Diagnostics] (リストの一番下)) を開くと、[Diagnostics] メニューでプロキシ サーバーの使用しているものの、引き続き同期に失敗していることが示される場合は、次の手順を実行します。
UGS で新しいプロジェクトを開きます。
[Using default Perforce server settings (デフォルトの Perforce サーバー設定を使用)] を見つけます。
[Change (変更)] をクリックします。
[Use default connection settings] を無効化します。
プロキシ サーバーとユーザー名を表示されたフィールドに入力します。
[OK] をクリックします。
これで UGS の診断を開くと、正しいサーバー設定が表示されます。