The AssetMultiplexer component is used to drive a field to one asset from a list, based on its position in the list.
The '''AssetMultiplexer''' component is used to drive an asset field from a list of assets and an index within the list.
<!--T:2-->
<!--T:2-->
== Fields ==
== Fields ==
{{Table ComponentFields
{{Table ComponentFields
|Target|AssetRef`1|TypeString0=AssetRef<ITexture2D>| The field to drive.
|Target|{{RootFieldType|DriveRef`1|[[Type:AssetRef`1|AssetRef`1]]<A>}}|TypeAdv0=true| The field to drive.
|Index|Int| Which element in <code>Assets</code> to drive to <code>Target</code>
|Index|Int| Which element in <code>Assets</code> to drive to <code>Target</code>
|Assets|SyncAssetList`1|TypeString2=SyncAssetList<ITexture2D>| The list of assets to multiplex between.
|Assets|{{RootFieldType|SyncAssetList`1|A}}|TypeAdv2=true| The list of assets to multiplex between.
}}
}}
<!--T:3-->
<!--T:3-->
== Usage ==
== Usage ==
Add the list of assets you want to use through the SyncAssetList<IAsset`1> area, then add in your assets into the items. Then you can specify the field through the Target you wanna switch between different assets for. Changing the Index will change which asset the Target has in it.
{{Note|This component directly drives a value, not a reference. Therefore, trying to combine it with other components using an [[Type:IAssetProvider|IAssetProvider]]<T> type, such as a [[Component:ReferenceMultiDriver|ReferenceMultiDriver]], will not work. To drive by reference and thus interop this component, use a [[Component:ReferenceMultiDriver|ReferenceMultiDriver]]<IAssetProvider<T>>|information}}
<!--T:4-->
<!--T:4-->
== Examples ==
== Examples ==
Using an asset multiplexer to allow your avatar to switch shirts via changing the texture, a pattern changer for a music visualizer.
== Related Issues == <!--T:5-->
[https://github.com/Neos-Metaverse/NeosPublic/issues/247 #247 - Allow importing a complete directory into a AssertMultiplexer]
Add the list of assets you want to use through the SyncAssetList<IAsset`1> area, then add in your assets into the items. Then you can specify the field through the Target you wanna switch between different assets for. Changing the Index will change which asset the Target has in it.
This component directly drives a value, not a reference. Therefore, trying to combine it with other components using an IAssetProvider<T> type, such as a ReferenceMultiDriver, will not work. To drive by reference and thus interop this component, use a ReferenceMultiDriver<IAssetProvider<T>>
Examples
Using an asset multiplexer to allow your avatar to switch shirts via changing the texture, a pattern changer for a music visualizer.