Version: 2020.3
言語: 日本語
セーフモード
バッチモードとビルトインコルーチンの互換性

コマンドライン引数

Unity をコマンドラインから実行できます (macOS では ターミナル、Windows では コマンドプロンプト)。

Unity の起動

macOS で Unity を起動するには、以下をターミナルに入力します。

/Applications/Unity/Unity.app/Contents/MacOS/Unity

Windows で Unity を起動するには、以下をコマンドプロンプトに入力します。

"C:\Program Files\Unity\Editor\Unity.exe"

このように Unity を起動すると、起動時にコマンドと情報を受け取ります。これは、テストスイート、自動ビルド、他のプロダクションタスクに非常に役立ちます。

ノート: 同様の方法で、スタンドアロンの Unity アプリケーションを起動します。

オプション

起動時に追加のコマンドと情報を使って、エディターを起動し、Unity アプリケーションをビルドできます。このセクションは、使用可能なコマンドオプションについて説明します。

オプション 説明
-accept-apiupdate Unity がバッチモードで起動されているときに APIUpdater の実行を指定するために、このコマンドラインオプションを使用します。

例:unity.exe -accept-apiupdate -batchmode [other params]

Unity をバッチモードで起動するときにこのコマンドライン引数を省略すると、APIUpdater が実行されず、コンパイラーエラーが発生する原因になることがあります。
-batchmode バッチモードで Unity を実行します。バッチモードでは、Unity では人間の介入を必要とせずにコマンドライン引数を実行します。また、人間の操作を必要とするポップアップウィンドウ (“シーンの保存” ウィンドウなど) も抑制します。ただし、Unity エディター自体は通常どおり開きます。コマンドライン引数を使用する場合は、自動化を中断することなく実行できるため、Unity は常にバッチモードで実行する必要があります。

スクリプトコードの実行中に例外が発生した場合、アセットサーバーの更新が失敗した場合、またはその他の操作が失敗した場合、Unity はすぐにコード 1 を返して終了します。

バッチモードでは、最小バージョンのログ出力をコンソールに送信することに注意してください。ただし、ログファイル には完全なログ情報が含まれています。エディターで同じプロジェクトが開いている間は、プロジェクトをバッチモードで開くことはできません。Unity のインスタンス 1 つのみを一度に実行できます。

エディターまたはスタンドアロンプレイヤーがバッチモードで実行されているかどうかを確認するには、Application.isBatchMode 演算子を使用します。

-batchmode を使用するときにプロジェクトがまだインポートされていない場合は、デフォルトのターゲットプラットフォームが使用されます。別のプラットフォームを強制的に使うには、-buildTarget オプションを使用します。
-buildLinux64Player <pathname> 64-bit スタンドアロン Linux player をビルドします (例えば、-buildLinux64Player path/to/your/build)。
-buildOSXUniversalPlayer <pathname> 64-bit スタンドアロン Mac OS X player をビルドします (例えば、-buildOSXUniversalPlayer path/to/your/build.app)
-buildTarget <name> プロジェクトをロードする前に、アクティブなビルドターゲットを選択します。可能なオプションは以下の通りです。
スタンドアロン、Win、Win64、OSXUniversal、Linux64、iOS、Android、WebGL、XboxOne、PS4、WindowsStoreApps、Switch、tvOS
-buildWindowsPlayer <pathname> 32bit スタンドアロン Windows プレイヤーをビルドします (例えば、-buildWindowsPlayer path/to/your/build.exe )。
-buildWindows64Player <pathname> 64bit スタンドアロン Windows player をビルドします (例えば、-buildWindows64Player path/to/your/build.exe )。
-createManualActivationFile Unity ライセンスを手動でアクティベートするための 3 段階のプロセス のステップ 1 。詳細については、コマンドラインからライセンスアクティベーションファイル (.alf) を生成する を参照してください。
-createProject <pathname> 特定のパスに空のプロジェクトを作成
-debugCodeOptimization デバッグコード最適化モードを有効にし、セッションの現在のデフォルトコード最適化モードをオーバーライドします。
-deepprofiling CPU プロファイラー の Deep Profiling (詳細プロファイリング) オプションを有効にします。
-disable-assembly-updater <assembly1 assembly2> Unity の自動アップデート時に無視するアセンブリ名をスペースで区切ったリストにし、パラメーターとして指定します。
スペースで区切ったアセンブリ名のリストはオプショナルです。例 1 のように、コマンドラインにアセンブリ名を渡さなければ、すべてのアセンブリが無視されます。

例 1
unity.exe -disable-assembly-updater

例 2 では 2 つのアセンブリ名が渡されています。そのうちの 1 つはパスが表示されています。例 2 では、A1.dll が、どのフォルダーに格納されている場合でも無視されます。また、A2.dll は、subfolder フォルダーに格納されている場合のみ、無視されます。

あるアセンブリを -disable-assembly-updater コマンドラインのパラメーターとして渡すと (または、アセンブリを何も指定しない場合も)、Unity は以下のメッセージを Editor.log にログします。

[Assembly Updater] warning: Ignoring assembly [assembly_path] as requested by command line parameter."). ([Assembly Updater] 警告: コマンドラインパラメーターで要求されたアセンブリ [assembly_path] を無視します。)

これを利用して、アセンブリをインポートするときの不要な API Updater のオーバーヘッドを避けます。

これは、Unity API にアクセスするアセンブリをインポートするときに、Unity API でアップデートする必要がないとわかっている場合に便利です。また、Unity API にまったくアクセスしないアセンブリをインポートする場合にも便利です (例えば、Unity の外部にあるソースコードやその一部をビルドし、その結果のアセンブリを Unity プロジェクトにインポートする場合など)。

ノート:アップデートが必要なアセンブリのアップデートを無効にすると、コンパイル時、ランタイム、または、その両方でエラーが発生する場合があり、追跡するのが困難です。
-disableManagedDebugger デバッガーのリッスンソケットを無効にします。
-diag-debug-shader-compiler Unity は、シェーダーコンパイラーのインスタンスを 1 つだけ起動し、そのタイムアウトを強制的に 1 時間にします。シェーダーコンパイラーの問題をデバッグするのに便利です。
-disable-gpu-skinning 起動時の GPU スキニングを無効にします。
-enableCodeCoverage コードカバレッジを有効にし、Coverage API へのアクセスを可能にします。
-executeMethod <ClassName.MethodName> または -executeMethod <NamespaceName.ClassName.MethodName> Unity がプロジェクトを開いたらすぐ、かつ、オプショナルなアセットサーバーの更新が完了した後に、この static メソッドを実行します。このコマンドは、継続的インテグレーション、ユニットテストの実施、ビルド作成、データ準備などのタスクを行うために使用します。コマンドライン処理のエラー結果が必要な場合は、例外を投げて Unity を戻り値 1 で終了させるか、ゼロ以外の戻り値を返すコード EditorApplication.Exit を呼び出します。パラメーターを渡したい場合は、コマンドラインにそれらを加えSystem.Environment.GetCommandLineArgs を使用して関数内で取得します。-executeMethod を使用する場合、加えるスクリプトを任意の Editor フォルダーに置かなければなりません。実行するメソッドは必ず static でなければなりません。
-exportPackage <exportAssetPath1 exportAssetPath2 ExportAssetPath3 exportFileName> 指定したパス (または複数の指定したパス) にエクスポート。この場合では exportAssetPath は Unity プロジェクトからエクスポートするフォルダー (Unity プロジェクトのルートディレクトリに対する相対パス) であり、exportFileName はパッケージの名前です。このオプションはフォルダー全体の単位でしかエクスポート出来ません。通常このコマンドは -projectPath 引数といっしょに使用する必要があります。
-force-d3d11(Windows のみ) レンダリングで Direct3D 11 を使用します。通常、グラフィックス API は Player 設定 での値に依存します (デフォルトは D3D11 です)。
-force-d3d12 (Windows のみ) レンダリングで Direct3D 12 を使用します。通常、グラフィックス API は Player 設定 での値に依存します。
-force-device-index Metal を使用する場合に、GPU のインデックスを渡すことによって、エディターに特定の GPU デバイスを使用させます(macOS のみ)。
-force-metal デフォルトのグラフィックス API として Metal を使用させます(macOS のみ)。
-force-glcore レンダリングに OpenGL 3/4 コアプロファイルを使用します。エディターは、利用可能でベストな OpenGL バージョンと、OpenGL ドライバがアクセスできるすべての OpenGL 拡張の利用を試みます。そのプラットフォームがサポートされていない場合は、Direct3D を使用します。
-force-glcoreXY -force-glcore と同じですが、OpenGL のバージョンを指定することができます。XYに指定できる値は、「32、33、40、41、42、43、44、54」です。
-force-gles(Windowsのみ) レンダリングで端末の OpenGL を使用します。エディターは、ベストな OpenGL ES バージョンと、OpenGL ドライバから利用可能なすべての OpenGL ES 拡張の利用を試みます。
-force-glesXY(Windowsのみ) -force-gles と同じですが、OpenGL ES のコンテキストバージョンをリクエストすることができます。XYに指定できる値は、「30、31、32」です。
-force-vulkan レンダリングで Vulkan を使用します。通常、グラフィックス API は Player 設定 での値に依存します。
-force-clamped -force-glcoreXY と一緒に使用することにより、追加された OpenGL 拡張を Unity が確認することを避けることができます。これにより、同じコードパスで複数のプラットフォーム間で実行できます。
-force-free Unity Pro ライセンスがインストールされていても、マシン上に無料 Unity ライセンスがあるかのようにエディターを動作させます。
-force-low-power-device (macOS のみ) Metal を使用する場合に、低消費電力のデバイスを使用させます。
-importPackage <pathname> 指定する アセットパッケージ をインポートします。インポートダイアログは表示されません。
-job-worker-count <N> Unity JobQueue Job Worker Count の最大スレッド数を指定します。また、それを Unity Standalone Player の boot.configjob-worker-count=<N> のように指定することもできます。
-logFile <pathname> Unity がエディターまたは Windows/Linux/OSX のスタンドアロンのログファイルを書き込む場所を指定します。コンソールに出力する場合は、パス名に - を指定します。Windowsでは、- オプションを指定すると、デフォルトではコンソールではなく stdout に出力されます。
-manualLicenseFile <yourulffile> Unity ライセンスを手動でアクティベートするための 3 段階のプロセス のステップ 3 。詳細については、コマンドラインから Unity ライセンスアクティベーションを終了 を参照してください。
-nographics バッチモードを実行する時、グラフィックスデバイスの初期化をまったく行わないようにします。すると、GPU のないマシンで自動化されたワークフローを実行出来るようになります (自動化されたワークフローは、ウィンドウにフォーカスがあるときのみ機能し、そうでない場合はシミュレーションされた入力コマンドは送信出来ません)。Enlighten には GPU アクセラレーションが必須なため、-nographics コマンドを使用した GI のベイクは行えません。
-noUpm Unity Package Manager を無効にします。
-openfile <path> シーンファイルやパッケージファイルへのパスからプロジェクトを開くことができます。あるいは、 -projectPath 引数を使うこともできます。
-password <password> Unity エディターのアクティベーションのときに、ログインフォームにパスワードを入力します。
-profiler-enable プレイヤーやエディターの起動をプロファイリングします。プレイヤーでこの引数を使用すると、Build Settings で Autoconnect Profiler オプションを有効にしてプレイヤーをビルドするのと同じ効果があります。

エディターでこの引数を使用すると、エディターの起動時に Profiler ウィンドウでプロファイラー情報の収集と表示を開始します。
-profiler-log-file <Path/To/Log/File.raw> この引数は、プロファイルデータを .raw ファイルに送信するように Unity Profiler を設定します。プレイヤーとエディターの両方で使用できます。
-profiler-capture-frame-count <NumberOfFrames> この引数は、起動時に .raw ファイルに送信する場合に、プロファイラーがキャプチャするフレーム数を設定します。プレイヤーでのみ機能します。
-profiler-maxusedmemory デフォルトでは、 Unity Profiler の maxUsedMemory はプレイヤー用に 16MB、エディター用に 256MB です。この引数を使用して、起動時に maxUsedMemory パラメーターをカスタムサイズに設定できます (例えば、-profiler-maxusedmemory 16777216)。サイズはバイト単位で設定します。
-projectPath <pathname> 指定したパスのプロジェクトを開きます。パス名にスペースが含まれている場合は、引用符で囲みます。
-quit コマンドの実行が終了した後に Unity エディターを終了します。これによりエラーメッセージが表示されなくなる場合があります (ただし、エラーメッセージは Editor.log ファイルには保存されます)。
-releaseCodeOptimization リリースコード最適化モードを有効にし、セッションの現在のデフォルトコード最適化モードをオーバーライドします。
-returnlicense 現在アクティブなライセンスをライセンスサーバーに返却します。詳しくは、ライセンスの返却 を参照してください。
-serial <serial> 指定されたシリアル番号で Unity のライセンスをアクティベートします。詳細は、コマンドラインでライセンスをアクティベート.

ノート: この引数を使用する場合は、-batchmode 引数も使用する必要があります。また、-quit 引数を指定することも良い方法です。
-setDefaultPlatformTextureFormat (Android のみ) テクスチャをインポートしたり、プロジェクトをビルドしたりする前に、デフォルトのテクスチャ圧縮を希望の形式に設定します。これは、希望の形式で再度テクスチャをインポートする必要がないようにするためです。利用可能なフォーマットは、dxt、pvrtc、atc、etc、etc2、astc です。
-silent-crashes スタンドアロンプレーヤーがクラッシュしたときに表示されるダイアログを Unity が表示しないようにします。 この引数は、プレイヤーを自動化されたビルドやテストで実行したい場合に便利です (ダイアログによって自動化された手順が妨げられるのを防ぎます)。
-stackTraceLogType 詳細なデバッグを可能にします。すべての設定で、NoneScript OnlyFull が選択可能です (例えば -stackTraceLogType Full)。
-username <username> Unity エディターのアクティベーションのときに、ログインフォームにユーザー名を入力します。
-vcsMode <mode> バージョンコントロールモードを設定します。利用可能なモードは、"Visible Meta Files""Hidden Meta Files"PerforcePlasticSCM です。任意のバージョンコントロールモードの設定フィールドを埋めるために、追加のフラグを使用することができます。これらのフラグは、Provider.GetActiveConfigFields メソッドに基づいています。例えば、-vcPerforceUsername-vcPerforcePassword-vcPerforceWorkspace-vcPerforceServer を使用して、Perforce のユーザ名、ワークスペース、およびサーバーフィールドを設定できます。

ノート: スペースを含む <mode> 引数は、二重引用符 (") で囲む必要があります。
-vcsModeSession <mode> このセッションのバージョンコントロールモードを設定します。利用可能なモードは、"Visible Meta Files""Hidden Meta Files"PerforcePlasticSCM です。任意のバージョンコントロールモードの設定フィールドを埋めるために、追加のフラグを使用することができます。これらのフラグは、Provider.GetActiveConfigFields メソッドに基づいています。例えば、-vcPerforceUsername-vcPerforcePassword-vcPerforceWorkspace-vcPerforceServer を使用して、Perforce のユーザ名、ワークスペース、およびサーバーフィールドを設定できます。

ノート: スペースを含む <mode> 引数は、二重引用符 (") で囲む必要があります。
-version エディターを起動せずに、コマンドラインで Unity エディターのバージョン番号を表示します。
-EnableCacheServer より新しい Accelerator Cache Server を使用するように Unity に指示します。また、-cacheServerEndpoint でアドレスを指定する必要があります。
-cacheServerEndpoint より新しい Accelerator Cache Server を使用している場合は、エンドポイントのアドレスを指定します。

例:

-cacheServerEndpoint 127.0.0.1:10080。この設定は、Editor Preferences に保存されている設定をオーバーライドします。これを使うと、Unity の複数のインスタンスを異なる Cache Server に接続することができます。
-cacheServerNamespacePrefix より新しい Accelerator Cache Server の名前空間プレフィックスを設定します。Cache Server 上のデータをグループ化するために使用します。

例:

-cacheServerNamespacePrefix MyProject
-cacheServerEnableDownload より新しい Accelerator Cache Server からのダウンロードを有効にします。

例:

-cacheServerEnableDownload true
-cacheServerEnableUpload より新しい Accelerator Cache Server へのアップロードを有効にします。

例:

-cacheServerEnableUpload false
-CacheServerIPAddress <host:port> 古い (v1) Cache Server の使用を有効にし、起動時に接続する IP アドレスを指定します。 これにより、エディター設定に保存されている設定がオーバーライドされます。 これを使用すると、Unity の複数のインスタンスを異なる v1 Cache Server に接続できます。

プロジェクトの C# スクリプト

using UnityEditor;
class MyEditorScript
{
     static void PerformBuild ()
     {
         string[] scenes = { "Assets/MyScene.unity" };
         BuildPipeline.BuildPlayer(scenes, ...);
     }
}

以下のコマンドは Unity をバッチモードで実行し、MyEditorScript.PerformBuild メソッドを実行し、その後、完了時に終了します。

Windows

"C:\Program Files\Unity\Editor\Unity.exe" -quit -batchmode -projectPath "C:\Users\UserName\Documents\MyProject" -executeMethod MyEditorScript.PerformBuild

Mac OS

/Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -batchmode -projectPath ~/UnityProjects/MyProject -executeMethod MyEditorScript.PerformBuild

Unity エディターの特別なコマンドライン引数

これらの引数は、特殊な環境下または Unity サポートから指示されたときのみ使用してください。

オプション 説明
-enableIncompatibleAssetDowngrade Unity のより新しい互換性がないバージョンで作成したアセットがあり、現在使用している Unity のバージョンに合わせてダウングレードしたい場合に使用します。これを有効にすると、ダウングレードを必要とするプロジェクトを開こうとするとき、ダウングレードの確認を求めるダイアログボックスを表示します。
ノート: この手順はサポートされていないためリスクが高く、最後の手段としてのみ使ってください。

パッケージからの追加エディター引数

これらのパッケージをインストールすると、追加のエディターコマンドライン引数が利用可能になります。

パッケージ 説明
Burst Burst パッケージのドキュメントを参照してください。
Test Framework Unity Test Framework パッケージのドキュメントを参照してください。

Unity スタンドアロンプレイヤーのコマンドライン引数

Unityでビルドしたスタンドアロンプレイヤーはコマンドライン引数を読み取ることができます。

オプション 説明
-batchmode ゲームを “ヘッドレス” モードで実行します。ゲームは何も表示しないか、または、ユーザー入力を受けつけません。これは オンラインゲーム のサーバーを実行するのに役立ちます。
-disable-gpu-skinning 起動時の GPU スキニングを無効にします。
-force-d3d11(Windows のみ) 強制的にレンダリングでDirect3D 11を使用します。
-force-d3d11-singlethreaded D3D11_CREATE_DEVICE_SINGLETHREADEDフラグで、DirectX 11.0 を強制的に作成します。
-force-d3d12 (Windows のみ) 強制的にレンダリングで Direct3D 12 を使用します。
-force-device-index GPU のインデックスを渡すことによって、スタンドアロンプレイヤーに特定の GPU デバイスを使用させます。このオプションは D3D11、D3D12、Metal、Vulkan のグラフィックス API によってサポートされますが、OpenGL ではサポートされません。
-force-metal (macOS のみ) スタンドアロンプレイヤーにデフォルトのグラフィックス API として Metal を使用させます。
-force-glcore レンダリングに OpenGL コアプロファイルを使用するよう、ゲームに強制します。 エディターは、もっとも適切な利用可能な OpenGL バージョン、および、OpenGL ドライバーによってアクセス可能なすべての OpenGL 拡張機能の使用を試みます。プラットフォームがサポートされていない場合、Direct3D が使用されます。
-force-glcoreXY -force-glcore と同じですが、OpenGL のバージョンを指定することができます。XYに指定できる値は、「32、33、40、41、42、43、44、54」です。
-force-vulkan レンダリングで Vulkan を使用することを強制します。
-force-clamped -force-glcoreXY と一緒に使用することにより、追加された OpenGL 拡張の確認を避けることができます。これにより、同じコードパスで複数のプラットフォーム間で実行できます。
-force-low-power-device (macOS のみ) スタンドアロンプレイヤーに、低消費電力のデバイスを使用させます。
-force-wayland Linux プレイヤーを実行するときに、実験的な Wayland サポートをアクティベートします。
-monitor N 指定されたモニター (1 ベースのインデックス番号で示されます) 上でスタンドアロンプレイヤーを実行します。
-nographics バッチモードを実行する時、グラフィックスデバイスの初期化を行わないようにします。これによって、GPU のないマシンで自動化されたワークフローを実行出来るようになります。
-nolog 出力ログを作成しません。通常、Unity は output_log.txtLog Files フォルダーに書き込み、そこに Debug.Log が出力されます。
-no-stereo-rendering ステレオレンダリングをオフにします。
-parentHWND <HWND> delayed(Windows のみ) Windows スタンドアロンアプリケーションを別のアプリケーションに埋め込みます。これを使用する場合は、親アプリケーションのウィンドウハンドル (HWND) を Windows スタンドアロンアプリケーションに渡す必要があります。

-parentHWND 'HWND' delayed を渡すと、Unity アプリケーションは実行中に非表示になります。また、アプリケーション内の Unity のために Microsoft Developer ライブラリ から SetParent を呼び出す必要があります。Microsoft の SetParent は、Unity のウィンドウを埋め込みます。Unity のプロセスを作成するとき、Unity のウィンドウは Microsoft の STARTUPINFO 構造の一部として与えられる位置とサイズに従って作られます。

Unity ウィンドウのサイズを変更するには、Microsoft の GetWindowLongPtr 関数のGWLP_USERDATA を確認します。グラフィックスが初期化されサイズ変更が安全になると、その最低ビット数は 1 に設定されます。Unity スプラッシュ画面の表示が終了すると、2 番目に低いビット数が 1 に設定されます。
詳細は、 EmbeddedWindow.zip の例を参照してください。
-popupwindow フレームのないポップアップウィンドウとしてウィンドウを作成します。このコマンドは macOS ではサポートされていません。
-screen-fullscreen デフォルトのフルスクリーン状態をオーバーライドします。値は 0 か 1 のいずれかです。
-screen-height デフォルトの画面の高さをオーバーライドします。サポートされている解像度の整数である必要があります。
-screen-width デフォルトの画面の幅をオーバーライドします。サポートされている解像度の整数である必要があります。
-screen-quality デフォルトの画面の品質をオーバーライドします。使用例としては: /path/to/myGame -screen-quality Beautiful。サポートされるオプションは、 Quality 設定 名と一致します。
-single-instance (Linux と Windows のみ) 同時に実行できるアプリケーションのインスタンスを 1 つのみにします。他のインスタンスがすでに実行されている場合に、 -single-instance を使用して再度起動すると、既存のものにフォーカスします。
-vrmode <devicetype> 特定の VR 機器で起動します。詳しくは、Unity での VR 開発入門 を参照してください。
-window-mode (Windows のみ) フルスクリーンのウィンドウモードをオーバーライドします。受け入れられる値は、exclusive または borderless です。詳細については、スタンドアロンプレイヤー設定 を参照してください。

ユニバーサル Windows プラットフォーム コマンドライン引数

ユニバーサル Windows アプリは、デフォルトではコマンドライン引数を受け付けません。そのため、引数を渡すには、MainPage.xaml.cs/cppMainPage.cs/cpp から、例えば以下のような特別な関数を呼び出す必要があります。

appCallbacks.AddCommandLineArg("-nolog");

この関数を appCallbacks.Initialize() 関数の前に呼び出します。

オプション 説明
-nolog UnityPlayer.log を生成しません。
-force-driver-type-warp DirectX 11.0 WARP を強制します (詳細については Microsoft の文書 Windows Advanced Rasterization Platform を参照してください)。
-force-d3d11-singlethreaded D3D11_CREATE_DEVICE_SINGLETHREADEDフラグで、DirectX 11.0 を強制的に作成します。
-force-gfx-direct シングルスレッドレンダリングを強制します。
-force-feature-level-9-3 DirectX 11.0 機能レベル 9.3 を強制します。
-force-feature-level-10-0 DirectX 11.0 機能レベル 10.0 を強制します。
-force-feature-level-10-1 DirectX 11.0 機能レベル 10.1 を強制します。
-force-feature-level-11-0 DirectX 11.0 機能レベル 11.0 を強制します。

  • “accept-apiupdate” コマンドラインオプションは Unity 2017.2 で追加NewIn20172

  • “accept-apiupdate” コマンドライン引数は Unity 2017.3 で追加NewIn20172

  • Tizen サポートは2017.3 で打ち切りNewIn20173

  • “noUpm”、 “setDefaultPlatformTextureFormat”、 “CacheServerIPAddress” コマンドラインオプションは Unity 2018.1 で追加 NewIn20181

  • “Application.isBatchMode” 演算子は2018.2 で追加 NewIn20182

セーフモード
バッチモードとビルトインコルーチンの互換性