VRChat 非公式日本語ドキュメント

Udonドキュメント

tip

Creator Economy への参加を希望する場合は、申請を送信 してください!

以下のページは、VRChat の Creator Economy へのアクセス権を持つ販売者にのみ関係する内容です。

このページでは、VRChat Creator Economyに関連するすべてのUdonの型、メソッド、イベントについて解説します。これらを使用して、Udon Node Graph または UdonSharp で独自の Udonスクリプト を作成することができます。

VRChatのSDKには、顧客が購入可能なUdon製品の管理をサポートするオブジェクト型が含まれています。

UdonProduct

UdonProductは、プロジェクト内で作成できる ScriptableObject です。これはストア上の製品を表すもので、Udon内で製品を操作できるようにします。 ワールドは、その内部で使用されている製品に基づいたイベントのみを受信します。そのため、アップロード前に少なくとも1回は、いずれかのUdonBehaviourで製品に対応するUdonProductを参照させておく必要があります。

例えば、UdonProductを直接どこにも使用しない場合であっても、シーン内の少なくとも1つのUdonBehaviour上にUdonProductの配列を持たせておかなければ、それらの製品に関する OnPurchaseConfirmedMultipleOnPurchaseExpiredOnPurchasesLoaded イベントをすべてのUdonBehaviourで受信することはできません。

UdonProductは、UdonProductManager(「VRChat SDK」→「UdonProduct Manager」)を使用するか、手動でUdonProductアセット(「Assets」→「Create」→「VRChat」→「UdonProduct」)を作成することで作成できます。

プロジェクトでのUdonProductアセットの作成方法については、Getting Started を参照してください。

作成直後の空のUdonProduct

Fields

Field name Type Description
ID string Udon製品の固有識別子。VRChatウェブサイトのストアからコピーして入力してください。
Name string Udon製品の名前。
Description string Udon製品の説明。

Equals

Description このメソッドは、製品IDが別の製品のIDと一致するかどうかを比較します。

Input

Output

IProduct

これは、すべてのUdon Creator Economyのメソッドおよびイベントによって返されるUdonProductの相当物です。

Field name Type Description
ID string Udon製品の固有識別子。
Name string Udon製品の名前。
Description string Udon製品の説明。
Buyer VRCPlayerAPI この製品を購入したプレイヤー。

Equals

Description このメソッドは、製品IDが別の製品のIDと一致するかどうかを比較します。

Input

Output

note

UdonProductおよびIProductの "Name" と "Description" フィールドは、現在ワールド内に存在するUdonProductから値が設定されます。

Methods

SDKには、プレイヤーの購入状況やVRChatのストアページとやり取りするためのメソッドが含まれています。これらのメソッドは「Store」名前空間の下にあります。

Store.DoesPlayerOwnProduct

このメソッドは、プレイヤーが特定の製品を所有しているかどうかを確認します。

Input

Output

caution

Start イベントの直後に Store.DoesPlayerOwnProduct を使用しないでください。Udonがまだプレイヤーの購入情報を受信していない可能性があるためです。競合状態を避けるには、代わりに OnPurchasesLoaded イベントを使用してください。

Store.DoesAnyPlayerOwnProduct

このメソッドは、インスタンス内のいずれかのプレイヤーが特定の製品を所有しているかどうかを確認します。

Input

Output

Store.GetPlayersWhoOwnProduct

このメソッドは、インスタンス内で特定の製品を所有しているすべてのプレイヤーを取得します。

Input

Output

Store.OpenWorldStorePage

現在のワールドにストアページが存在する場合、そのページを開きます。

Store.OpenGroupPage

VRChatのメインメニューで、グループの Group Info ページを開きます。

Input

Store.OpenGroupStorePage

VRChatのメインメニューで、グループの Store ページを開きます。

Input

Store.OpenListing

VRChatのメインメニューで、出品(Listing) の購入画面を開きます。 有効化されている出品であれば、グループ ストア やワールド ストア に追加していなくても開くことができます。

Input

Store.OpenMarketplaceStore

VRChatメインメニューのマーケットプレイスストアのセクションを開きます。オプションで、そのセクション内の 出品 の詳細ページを直接開くことも可能です。 グループストアやワールドストアの場合、その出品が含まれる ストア に関連付けられたグループIDまたはワールドIDを指定することで、公開済みのあらゆる出品を開くことができます。

Input

Store.SendProductEvent

ターゲットの UdonBehaviour に対して、インスタンス内の全プレイヤーに OnProductEvent イベントを送信します。 ネットワークイベントを送受信する前に、このメソッドは SendProductEvent を使用しているプレイヤーがその製品を購入済みかどうかを確認します。

Input

Store.ListPurchases

ターゲットプレイヤーが行ったすべての購入情報を配列として、対象の UdonBehaviour に OnListPurchases イベントを送信します。

Input

Store.ListAvailableProducts

ワールド内で使用されているすべての製品を含む配列を、ターゲットとなる UdonBehaviour に OnListAvailableProducts イベントとして送信します。

Input

Store.ListProductOwners

ターゲットとなる UdonBehaviour に OnListProductOwners イベントを送信します。このイベントを使用すると、サポーター全員の名前を取得して、例えばワールド内にユーザー名を表示するといったことが可能になります。

Input

VRCOpenMenu.OpenAvatarListing

VRChat のメインメニューで、公開されているアバターの詳細・購入画面を開きます。

Input

Events

warning

GameObject や UdonBehaviour を無効にすると、Creator Economy(クリエイターエコノミー)に関連するイベントのほとんどは実行されなくなります。

OnPurchaseConfirmed

このイベントは、プレイヤーの購入情報が読み込まれ、確定した際に発生します。購入情報は以下の状況で読み込まれます。

Output

OnPurchaseConfirmedMultiple

このイベントは、プレイヤーの購入情報が読み込まれ、確定した際に発生します。購入情報は以下の状況で読み込まれます。

Output

caution

OnPurchaseConfirmed は非推奨であり、数量購入をサポートしていません。同一スクリプト内で OnPurchaseConfirmedOnPurchaseConfirmedMultiple の両方を使用しないでください。使用した場合、同じ購入を誤って二重に検知する可能性があります。

OnPurchaseExpired

このイベントは、インスタンス内のプレイヤーが所有する製品のいずれかが期限切れになったことをローカルクライアントが検知した際に発生します。

Output

OnPurchasesLoaded

このイベントは、ローカルプレイヤーがインスタンスに参加した時、または他のプレイヤーが後から参加した時に、プレイヤーの購入情報がすべて読み込まれると発生します。 プレイヤーが製品を何も所有していない場合でもイベントは発生し、その際の IProduct[] 配列は空になります。

Outputs

OnProductEvent

このイベントは、プレイヤーが Store.SendProductEvent を使用した際に発生します。ローカルプレイヤーがイベントを実行する前に、ローカルプレイヤーと VRChat サーバーの両方が、そのプレイヤーが製品を購入済みであるかを確認します。

Output

OnListPurchases

このイベントは、ローカルプレイヤーが Store.ListPurchases を使用した際に発生します。対象プレイヤーが行ったすべての購入情報の配列を返します。

Outputs

OnListAvailableProducts

このイベントは、ローカルプレイヤーが Store.ListAvailableProducts を使用した際に発生します。ワールド内で使用されているすべての製品(UdonProduct)の配列を返します。

Outputs

OnListProductOwners

このイベントは、Udon スクリプトが Store.ListProductOwners を呼び出した後に発生します。対象製品を所有しているすべてのプレイヤーの表示名を含む配列を返します。このリストには、現在のインスタンス内にいるユーザーだけでなく、その製品を所有するすべてのユーザーが含まれます。 インスタンス内にいるプレイヤーが Udon 製品を所有しているかを確認するには、代わりに Store.DoesPlayerOwnProduct を使用してください。

Outputs

最終更新: