Unity 6 は Unity の最新バージョンです。Unity 6 には、Unity 6 Preview、2023.2、2023.1 のすべての機能が含まれています。
このバージョンの Unity の変更点と既知の問題については、Unity 6 リリースノート を参照してください。
その他のリリースのリリースノートについては、Unity ダウンロードアーカイブ を参照してください。
既存のプロジェクトを 2022 LTS からアップグレードする場合は、Unity 6 へのアップグレードガイド をよく読んで、プロジェクトへの影響を確認してください。
以下の領域で Unity 6 の新機能と改善点を確認してください。
Rigidbody2D.Slide メソッドを追加しました。このメソッドは、静的ボディを含むすべてのボディタイプで動作します。単に新しい位置を計算したり、Rigidbody2D の位置を即座に変更したり (補間をサポート)、自動的に Rigidbody2D.MovePosition() を呼び出して移動を保留したりすることができます。この機能により、キャラクターコントローラーを作成しやすくなります。
アクティブなアクセシビリティ階層とそのノードを表示する新しいエディターウィンドウ、Accessibility Hierarchy Viewer を追加しました。Accessibility Hierarchy viewer にアクセスするには、メインメニューで Window > Accessibility > Accessibility Hierarchy viewer を選択します。
IPerformanceModeStatus を追加しました。
Windows、OSX、Linux プラットフォームとDedicated Server サブターゲットをターゲットとするアセットバンドルに機能を追加し、ビルドされた Dedicated Server Player が受信する Dedicated Server 最適化 (テクスチャデータと非衝突メッシュデータの削除) と同じ最適化を使用して、これらをビルドするようになりました。
データを .meta ファイルに保存するためのアクセサーを実装しました。
Unity がキュレーションするサードパーティ製のアセットとソリューションのライブラリである、検証済みソリューション プログラムを追加しました。
-upmLogFile を追加しました。詳細については、Unity エディターのコマンドライン引数 を参照してください。Additional App IDs を追加しました。PropertyCollectionAttribute を追加しました。コレクションのカスタムドロワーの実装に使用できます。focusedWindowChanged コールバックを EditorWindow クラスに追加しました。OneTimeSetup と OneTimeTearDown の継続時間が表示されるようにしました。リニア色空間プロジェクトの UI Toolkit にガンマを強制レンダリングするオプションを追加しました。
Gradient、AnimationCurve、ToggleButtonGroupState、Unsigned Int、および Unsigned Long) を追加しました。ToggleButtonGroupState のシリアル化されたプロパティの PropertyField でサポートを追加しました。IMGUI の古い機能のテキストスタックから依存関係を削除し、IMGUI が TextCore を使用して指標をレンダリングして計算するようにしました。IMGUI と UITK の両方で使用される新しい TextUtilities に対応するために、TextEditor の一部のメンバーが非推奨になりました。意味は同じですが、名前が変わりました (フィールドからプロパティへ)。
TextEditor.multiline は TextEditor.isMultiline になりました。TextEditor.hasHorizontalCursorPos は nowTextEditor.hasHorizontalCursor です。TextEditor.revealCursor は TextEditor.showCursor になりました。
UnityObjectRef<> のシリアル化サポートを追加して、Unity アセットへのアンマネージ参照を有効にしました。例えば、マネージ IComponentData のテクスチャの代わりに、アンマネージ IComponentData に UnityObjectRef<Texture> を配置することができます。IComponentDataISystemIJobEntityWithNone<T> を使用する EntityQuery が必要なジョブ依存関係を挿入していなかった問題を修正しました。EntityQuery のシングルトンメソッドが、クエリに有効なコンポーネントが含まれている場合を正しく処理できるようになりました。System.API を使用してシステムで定義されたジョブのブレークポイントを修正しました。
ユニバーサルレンダーパイプライン (URP) の Unity 6 ドキュメントを Unityエンジン のマニュアルに移しました。例えば、URP のライティングに関するドキュメントは、このマニュアルの ライティング セクションにあります。
RayTracingShader.Dispatch に似ていますが、3 つのディスパッチ次元は GraphicsBuffer から取得されます。RayTracingShader.DispatchIndirect と新しいCommandBuffer.DispatchRays シグネチャを追加しました。SystemInfo.supportsIndirectDispatchRays 機能状態を追加しました。BatchRendererGroup API を使用して、GPU インスタンシングでゲームオブジェクトを自動的に描画します。これにより、ドローコール回数が減り、CPU 処理に要する時間が解放されます。BatchRendererGroup API 用の新しいバッチごとのレイヤーフィルタリング設定を追加しました。この設定を使用して、特定のバッチを除外できます。IRenderPipelineResources インターフェースを追加しました。グラフィックス設定の値が変更されたときに通知をトリガーするデフォルト IRenderPipelineGraphicsSettings Inspector を更新し、IRenderPipelineGraphicsSettings にカスタムメニューを追加しました。CustomPostProcessOrder の UI Toolkit サポートを追加しました。BatchCullingContext.cullingFlags を追加しました。BatchRendererGroup に rendererPriority のサポートを追加しました。CommandBuffer.BuildRayTracingAccelerationStructure コマンドを実行できるようになりました。レンダーグラフとレンダーグラフビューアーに RayTracingAccelerationStructure のサポートが追加されました。RayTracingAccelerationStructure の作成とビルド時に C# からカスタマイズするか、レンダラーの設定からカスタマイズできます。BakeTexture および BakeTrailsTexture スクリプトメソッドを追加しました。SystemInfo.supportsInlineRayTracing、SystemInfo.supportsRayTracingShaders、ComputeShader.SetRayTracingAccelerationStructure、CommandBuffer.SetRayTracingAccelerationStructure (ComputeShader,…) を追加しました。#pragma require inlineraytracing を追加しました。RayTracingAccelerationStructure.AddInstance 署名を追加しました。これは、ラスタライゼーションパイプラインの Graphics.RenderMesh に相当します。ImageConversion.LoadImage() を介した EXR データのロードサポートを追加しました。ScriptableRenderContext.CullShadowCasters API を実装しました。
URP の新機能と改善点の詳細については、URP の新機能 を参照してください。
メインライトと追加ライトの影テクスチャ解像度に 8192 x 8192 オプションを追加しました。
カメラ履歴 API を追加しました。これにより、カメラごとの履歴テクスチャにアクセスし、カスタムレンダーパスで使用できます。履歴テクスチャは、Unity が前のフレームで各カメラにレンダリングした色と深度のテクスチャです。
URP に Adaptive Probe Volumes (APV) ライティングシナリオブレンディングを追加しました。
表示されるライトの最大数をオーバーライドできる 新しい設定パッケージ を追加しました。
Render Graph Viewer ウィンドウを追加しました。このツールを使用すると、レンダーパスがフレームリソースをどのように使用するかを視覚化し、レンダリングプロセスをデバッグできます。
レンダリングデバッガー にミップマップストリーミングのセクションが追加されました。このセクションでは、テクスチャストリーミングアクティビティを検査できます。
音量コンポーネントを使用する カスタムポストプロセスエフェクト を作成するための C# スクリプトテンプレートを追加しました。
URP の APV スカイオクルージョンのサポートを追加しました。
時空間ポストプロセス (STP) アップスケーリングのサポートを追加しました。
新しい レンダーグラフ システムにより、レンダーパイプラインのカスタマイズと管理の方法が改善されます。このシステムにより、URP が使用するメモリ量が減り、メモリ管理が効率化します。
この URP バージョンは、Alpha Processing 設定を実装します。この設定を有効にすると、URP はアルファチャンネルを使用してポストプロセス出力をレンダーテクスチャにレンダリングします。以前のバージョンでは、URP はアルファ値を 1 に置き換えることでアルファチャンネルを破棄していました。
クロスプラットフォーム HDR ディスプレイのサポートを追加しました。エディターとビルドされたプレイヤーの、モバイルと XR を含むすべてのレンダーパイプラインと HDR をサポートするプラットフォームで、HDR トーンマッピングとディスプレイが完全にサポートされるようになりました。
URP がライティングされた環境をより効率的にレンダリングできるように、プローブボリュームからの間接光に頂点ごとの品質レベルを追加しました。モバイルプラットフォームでは、URP でライティングシナリオのブレンドやリフレクションプローブのライティングの正規化はサポートされません。
Motion Blur volume コンポーネントに Camera And Objects オプションを追加しました。このオプションは、モーションベクトルを使用して、カメラの露出時間よりも速く移動するオブジェクトをぼかします。
追加のディレクショナルライトクッキーのサポートを追加しました。
URP グローバル設定に Default Volume Profile フィールドを追加しました。
ユニバーサルレンダーパイプラインアセットに Volume Profile フィールドを追加しました。
URP マテリアルに Alembic 速度モーションベクトルのサポートを追加しました。
Shader Graph のシェーダーに Time ノードのみに基づく頂点アニメーションによる時間ベースのモーションベクトルの自動生成を追加しました。
フォワード + レンダリングパスへの XR レンダリングと平行投影カメラのサポートを追加しました。
フォワード + レンダリングパスでの中心窩レンダリングのサポートを追加しました。
Temporal Anti-aliasing (TAA) のサポートを追加しました。この機能は、MSAA、動的解像度、カメラスタッキングとの互換性はありません。この機能は、固定解像度のみをサポートし、一時的なアップサンプリングはサポートしません。
ハイダイナミックレンジ (HDR) 出力 のサポートを追加しました。
URP レンダリングデバッガーに Detailed Stats セクションを追加しました。
RasterCommandBuffer API を使用するようにすべての URP パスを移植しました。
SSAO 設定に、Interleaved Gradient Noise オプションまたは Blue Noise オプションを選択できる AO Method プロパティを追加しました。
SSAO 設定に、High (Bilateral)、Medium (Gaussian)、Low (Single-Pass Kawase) のいずれかのオプションを選択できる Blur Quality プロパティを追加しました。
SSAO 設定に、AO 効果が適用されるカメラからの距離を制御する Falloff フィールドを追加しました。
URP フォワード + レンダリングパスにクラスターリフレクションプローブのサポートを追加しました。これにより、オブジェクトごとに 2 つ以上のリフレクションプローブを使用できるようになり、Unity はライトとリフレクションプローブのオブジェクトごとのカリングをスキップできるようになり、Entities Graphics とプロシージャルの描画でリフレクションプローブを利用できるようになります。
URP に ローコードのカスタムポストプロセス 機能を追加しました。
レンダーグラフ API にデカールのサポートを追加しました。
URP ポストプロセスエフェクトにレンダーグラフ API のサポートを追加しました。
スプライト、コライダー、スプライト形状、2D Animation などの 2D オブジェクトに影のレンダリングのサポートを追加しました。
影をキャストする 2D ライトにソフトシャドウレンダリングを追加しました。
プローブボリュームの制限付きサポートを追加しました。ライティングデータセットの補間がなく、ローエンドハードウェアでのパフォーマンスが制限されます。
FXAA 品質を改善しました。新しい実装では、エッジアンチエイリアスが向上し (以前の実装で見られた奇妙なエッジアーティファクトが除去されます)、テクスチャ品質のリテンションが改善されます。この改善は、パフォーマンスには影響しません。出力品質は低レベルおよび中レベルの SMAA プリセットと同等になりましたが、パフォーマンスも向上しています。
URP の新機能と改善点の詳細については、HDRP の新機能 を参照してください。
Unity 6 のマルチプレイヤー機能は、マルチプレイヤーゲームの開発を簡素化し高速化するように設計されています。これにより、将来の Multiplayer Services とのインテグレーションに備え、熱心なプレイヤーコミュニティの成長を時間をかけてサポートできるようになります。
新しい Multiplayer Center により、マルチプレイヤーゲームの設定と開発が容易になります。プロンプトとワークフローは、ゲームのパラメーターと要件を使用して、プロジェクトの開始に使用できる動的テンプレートを生成する前に、関連するパッケージとサービスを提案します。
マルチプレイヤーゲームを設定するためにエディターを終了する必要はなくなりました。パーソナライズされたインタラクティブなガイダンス、教材、ショートカットにより、実験やフィードバックへの早期対応が容易になり、何度も実施できます。
新しい マルチプレイヤーウィジェット を使用すると、Multiplayer Services をマルチプレイヤーゲームに簡単に統合できます。このウィジェットには、スタンドアロンパッケージとして、または新しい Multiplayer Center からアクセスできます。
Multiplay、Relay、Lobby、Vivox などのサービス用のウィジェットが含まれているため、互換性のある、関連する統合を簡単に見つけることができます。例えば、Relay サービスをエディターに統合すると、開発の早い段階で簡単にセッションの作成やユーザーの接続を行えます。
新しくリリースされた Multiplayer Services パッケージ は、マルチプレイヤーサービス間の依存関係の管理を容易にします。例えば、以下が可能です。
設定を容易にするために、セッションは Netcode for GameObjects、Netcode for Entities、Unity Transport Package と直接統合されるようになりました。
Multiplayer Tools パッケージ バージョン 2.2.1 で、Unity でのマルチプレイヤーゲーム開発のワークフローと Netcode for GameObjects 2.0 によるパフォーマンスを改善し、Distributed Authority のサポートを追加しました。
Multiplayer Tools パッケージをバージョン 2.1.0 に更新し、新しいビジュアルデバッグツールとしてネットワークシーン可視化ツールを追加しました。詳細については、Multiplayer Tools のドキュメントを参照してください。
Multiplayer Play Mode パッケージ は、イテレーションサイクルを減らし、実装上の選択肢を検証しやすくし、ランタイムプロセス全体の早期にゲームプレイの品質を向上させることを目的に設計されています。
Unity 6 の新しい再生モードシナリオは、テストサイクルが本番環境に統合されているので、早い段階で実際のプレイヤーにプレイアブル体験を提供するのに役立ちます。
Multiplayer Play Mode をバージョン 1.0 に更新しました。これを使用して、Unity エディターを離れることなくマルチプレイヤー機能をテストできます。詳細については、Multiplayer Play Mode のドキュメントを参照してください。
Dedicated Server パッケージ は、専用ゲームサーバーワークフローをエディターに統合して、Dedicated Server をローカルに展開しやすくし、Multiplay ホスティングを容易にします。
新しい マルチプレイヤーロール により、各ビルドターゲットで使用するマルチプレイヤーロール (クライアント、サーバー) を制御できます。
Dedicated Server パッケージをリリースしました。これを使用すると、別のプロジェクトを作成することなく、サーバーとクライアントのロール間でプロジェクトを切り替えることができます。詳細については、Dedicated Server パッケージに関するドキュメントを参照してください。
Netcode for GameObjects は、ネットワークロジックを抽象化するために Unity 用に構築された高レベルのネットワークライライブラリです。
Netcode for GameObjects バージョン 2.0 では、Distributed Authority (ベータ) をサポートするようになり、マルチプレイヤーゲーム開発におけるベストプラクティスを促進するための改良が加えられました。Netcode for GameObjects の基本機能と、個々の API およびシステムの実用的な例については、マルチプレイヤーユースケースのバイトサイズサンプル を参照してください。
NetworkManager.OnConnectionEvent、-ServerIsHost、-InstantiateAndSpawn を含む多くのユーティリティメソッドを追加しました。NetworkObject コンポーネントを持つ前に存在したシーンのプレハブインスタンスの GlobalObjectIdHash 値を更新します。このプロパティは、ビルドリストに含まれるすべてのシーンに影響します。NetworkManager メソッドの SetPeerMTU と GetPeerMTU を追加しました。Netcode for GameObjects のカスタムプロトコルに使用します。GlobalObjectIdHash)、Unity が無効な値を割り当てていた問題を修正しました。GenerateSerializationForTypeAttribute メソッドを追加しました。NetworkVariable 型でラップされたジェネリック型をコード生成プロセスに含めるために使用できる GenerateSerializationForGenericParameterAttribute メソッドを追加しました。NetworkVariable 作成を改善する追加の NetworkVariableSerialization メソッドを公開しました。NetworkVariableBase.MarkNetworkBehaviourDirty メソッドを使用して、NetworkVariable をダーティにすることができます。NetworkBehaviour 型の RPC で、クラスのジェネリック型のパラメーターをシリアル化できるようになりました。NetworkManager の初期化プロセスをより適切に通知するために、NetworkManager イベント OnServerStarted、OnServerStopped、OnClientStarted、OnClientStopped を追加しました。Netcode for Entities は、Unity の Data Oriented Technology Stack (DOTS) の一部であり、マルチプレイヤーゲームの作成に使用できるクライアント予測フレームワークを備えたサーバー権威を提供します。
Netcode for Entities バージョン 1.3 では、操作性の改善がいくつか行われています。また、新しいデモゲームの Megacity Metro では、Unity 6 で Multiplayer Services、ネットワーク化された車両の実装、設定可能なルールベースの照合、没入型プレイヤー通信をどれほど迅速かつ簡単に設定できるようになったかが示されます。
OverrideAutomaticNetcodeBootstrap MonoBehaviour を最初のビルドシーンに追加します。AlwaysRelevantQuery を追加しました。Added BatchScaleImportanceDelegate。バッチで動作する重要度スケーリング関数の新しいバージョンです。ScaleImportance と BatchScaleImportance の両方の関数ポインタを設定する必要はありません。BatchScaleImportance が設定されている場合は、そちらが優先されます。
ファイルが空または空白の場合にデフォルトの依存関係で再入力することによって、プロジェクトマニフェスト ファイルの動作を改善しました。
.aab ファイルをアップロードするときに、アプリケーションバンドルにデバッグシンボルを埋め込む新しいビルド設定を追加しました。シンボルパッケージを、.apk ファイルまたは .aab ファイルとともに zip ファイルとして個別にアップロードするオプションがあります。.so.sym または .so.dbg、および古い機能の .so 拡張子を持つシンボルファイルを作成できます。unityLibrary の依存関係を指定する新しいプロパティを .androidlib プラグイン Inspector に追加しました。これで、.androidlib を unityLibrary に依存するように設定し、UnityPlayerActivity をオーバーライドしてアクティビティを拡張できるようになりました。com.unity.addressables.android) を追加しました。ApplicationExitInfo API を追加しました。GameActivity をデフォルトのアプリケーションエントリーポイントにして、Android とアプリケーション間のインタラクションをより制御できるようにしました。build_fingerprint 情報を追加しました。
.xcframework プラグインサポートを追加しました。
Apple の visionOS プラットフォームのサポートを追加しました。
LocationService メソッドとプロパティを実装しました。
Start()Stop()isEnabledByUserlastDatastatusUnity Player との間でコピーおよび貼り付けする機能を追加しました。
GetLastHeading()SetHeadingUpdatesEnabled()IsHeadingUpdatesEnabled()GetHeadingStatus()IsHeadingAvailable()コンパス API のサポートを追加しました。
モバイルブラウザーのサポートを追加しました。
Emscripten 3.1.38 ツールチェーンを実装しました。
Content-Encoding: gzip が正しく設定されていない場合、またはウェブブラウザーにバグがあり gzip コンテンツを解凍できない場合のコンソールエラーメッセージログを改善しました。
Windows ARM64 プレイヤーのコンパイルを可能にしました。詳細については、システム要件 のページを参照してください。
ArticulationBody.jointPosition ポインターラインを追加し、シーンビューにジョイントの正確な位置が表示されるようにしました。
Memory Profiler のバージョン 1.1.0 をリリースしました。詳細については、Memory Profiler パッケージ のドキュメントを参照してください。
プレイヤーの接続リッスンポートを制御する機能を追加しました。
プレイヤービルドのコールスタックに C# ソースコード行番号を表示するオプション を追加しました。
レイトレーシング API は、Unity 2023.1で正式に実験的状態から脱しました。レイトレーシング API には、安定性とパフォーマンスの改善から、エンジンの既存の機能セットとの互換性の追加までが含まれています。
Sentis を使用して、Unity アプリケーション内で機械学習モデルを直接実行し、リアルタイムの AI 主導の機能を利用してパフォーマンスを最適化します。詳細については、Sentis のドキュメントを参照してください。
Shader Graph パッケージに新しい一連の 本番環境が可能なサンプルコンテンツシェーダー を追加しました。
バリアントキーワードのプレフィルタリングでは、レンダーパイプラインの設定によって決まる属性のプレフィルタリングに基づいて、 “multi_compile” キーワードを早期に除外するようになりました。これにより、考えられるストリッピングやコンパイルのために列挙されるバリアントの数が大幅に減ります。その結果、シェーダーの処理時間が大幅に削減されます。
SpeedTree9Importer を追加しました。SpeedTree Modeler 9 によってエクスポートされた .st9 ファイルをサポートし、以下の対象を含みます。
.cg)、URP、および HDRP レンダラー (.shadergraph) 用の新しい SpeedTree9 シェーダー。Transmission Mask を使用して葉のみにサブサーフェススキャタリングを適用する、HDRP の SpeedTree のビジュアル品質が向上しました。HDRP/Nature/SpeedTree8.shadergraph は、Transmission Mask ノードにサブサーフェスマップを使い、樹木の皮や小枝から意図しないライトの透過を取り除きます。これにより、3D ジオメトリのライティングに合わない明るすぎるビルボードライティングも修正されます。
HDRP/Nature/SpeedTree8.shadergraph が、透過マスクノードにサブサーフェスマップを使用して、樹木の樹皮や小枝から意図しないライトの透過を削除するようにしました。これにより、3D ジオメトリのライティングとあまり合わなかった、明るすぎるビルボードライティングも修正されます。
スプラインオブジェクトにパーソナライズされたデータを保存できるようになりました。また、Inspector でポイントを編集するためのインターフェースが強化され、特定の API が公開されました。スプラインで作業するときに、新しい シーンビューコンテキストメニュー を使用できるようになりました。
-randomOrderSeed x を使用して、ランダムな順序でテストを実行できるようになりました。ここで、x は 0 とは異なる整数です。プロジェクトに新しいテストを追加すると、Test Framework は同じシードを渡すランダムな順序を維持し、それに応じて新しいテストをランダムなリストに配置します。TestFileReferences.json を追加しました。テスト実施者は、これを使用して実行ステップのデータを拡張できます。
Unity のバージョン管理機能でロックをリストおよび管理するための新しいタブビューを追加しました。
プロジェクトのルートフォルダー外のディスクに存在するパッケージの追跡をサポートするプロジェクトオプションを追加しました。
ShaderKeyword をサポートしました。
Vision Pro での中心窩レンダリングのサポートを追加しました。