概要
コレクション マネージャー スクリプト サブシステムは、ブループリントを介したコレクション システムへのアクセスを提供するために作成されました。 これには、コレクションを作成および削除したり、任意のコレクション内のアセットを追加、削除、検索したりできる機能が含まれます。
現在、コレクション管理は、アセット タグ サブシステムを通じてブループリントに公開されています。 このシステムは、コレクションに対してエディタとゲームの両方の機能を提供します。 エディタ機能ではコレクションを作成、削除、および変更できますが、ゲーム機能ではコレクションの読み取りと検索のみが可能です。
コレクション マネージャー サブシステム アドレスの制限事項
アセット タグ サブシステムには 2 つの制限事項があり、新しいシステムによって対処されています。
コンテンツ コンテナ
Unreal Engine 5.6 より前のバージョンでは、全てのコレクションはベース ゲーム プロジェクトに関連付けて保存されていました。 より多くのモジュール式ワークフロー (例: メタバース ワークフロー プロジェクト) をサポートするために、コレクション コンテナが導入されました。 これにより、コレクションのセットをベース ゲーム プロジェクト以外のプロジェクトに関連付けることができます。 コレクション マネージャー スクリプト サブシステムにより、ブループリントがこれらのコンテナにアクセスできるようになります。これにより、ブループリント作成者はさまざまなプロジェクト間でコレクションにアクセスできます。
コレクションのアクセシビリティ
内部では、コレクションには次の 3 つの異なるアクセシビリティ レベルがあります。
ローカル:ソース コントロールされていません。 ユーザーのコンピューターにローカルに格納され、そのユーザーのみがアクセスできます。
プライベート:ソースが管理されていますが、作成したユーザーのみがアクセスできます。
共有:ソースが管理されており、チームの全ユーザーがアクセスできます。
アセット タグ サブシステムは、これらの共有タイプをブループリントに公開しません。そのため、同じ名前のコレクションで異なる共有タイプを持つコレクションを区別できません。 現在の形式では、コレクション名が指定されると、名前が一致する最初に見つかったアイテムを返します。 2 つのコレクションの名前が同じで共有型が異なる場合、ブループリント作成者が意図せず間違ったコレクションをターゲットにする可能性があるため、問題が発生することがあります。
コレクション マネージャー スクリプト サブシステムによって共有タイプが公開されるため、作成者がターゲットとするコレクションについて明示する必要があります。
その他の改善点
アセット タグのサブシステムを拡張することもできますが、新しいサブシステムを作成する主な理由が 2 つあります。
| 改良 | 説明 |
|---|---|
より明確な命名方法で検索可能性を高める | 基礎となる機能に一致した名前を付けると、ブループリントの作成者がシステムを検出しやすくなり、その用途が把握しやすくなります。 |
エディタ専用の実装 | アセット タグ サブシステムはエディタとゲームの両方に対してコンパイルを実行しますが、コレクション マネージャー スクリプト サブシステムはエディタに対してのみコンパイルするため、使用方法に関する曖昧さが解消されます。 |
機能変更
以下のアセット タグ サブシステムのエディタ専用関数は非推奨になり、同等のコレクション マネージャー スクリプト サブシステムに移行する必要があります。
| 非推奨の関数: | 現在の関数: |
|---|---|
| アセット タグ サブシステム | コレクション マネージャー スクリプト サブシステム |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
| |
| |
| |
| |
| |
| |
| |
|
以下のインゲーム関数は、実行時の使用が引き続きサポートされています。
CollectionExistsGetCollectionsGetAssetsInCollectionGetCollectionsConratingAssetGetCollectionsContainingAssetDataGetCollectionsConratingAssetPtr