Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


VariantSelectorMetadata

Makes a key variant-driven by attaching the selector that chooses its current variant.
Read time 1 minuteLast updated 6 days ago

Definition

public class VariantSelectorMetadata : IMetadata

Remarks

Attach it to a shared key's metadata for a per-key IVariantSelector, or to the SharedTableData for a default that every key in the collection inherits. The selector lives on the shared data, not the per-locale entry, so it stays the same across locales. Variant values themselves are stored per locale; add them with ResourceTable.AddStringVariant, which registers the variant keys here.
Additional Resources: IVariantSelector, SharedTableData
Attach a selector and add a variant value from script.

Examples

namespace Unity.Localization.Samples{ public static class AddVariantByScriptExample { public static void MakeWishlistVaryByStorefront(ResourceTable table) { // The default value, used wherever no variant matches. table.AddStringEntry("wishlist", "Add to wishlist"); // The selector lives on the shared key, so every locale resolves the same way. var key = table.SharedData.GetEntry("wishlist"); if (key.Metadata.GetMetadata<VariantSelectorMetadata>() == null) key.Metadata.AddMetadata(new VariantSelectorMetadata(new StorefrontVariantSelector())); // The value this locale shows when the selector reports "GOG". table.AddStringVariant("wishlist", "GOG", "Add to GOG wishlist"); } public static void RemoveTheVariant(ResourceTable table) { table.RemoveVariant("wishlist", "GOG"); } }}

Constructors

Constructor

Description

VariantSelectorMetadata()Creates empty variant metadata.
VariantSelectorMetadata(Unity.Localization.IVariantSelector)Creates variant metadata for a selector.

Properties

Property

Description

KeysThe variant keys authored for this scope, used by the editor to lay out variant rows.
SelectorThe selector that chooses the current variant key.

Methods

Method

Description

AddKeyAdds
key
to the authored variant keys if absent.
RemoveKeyRemoves
key
from the authored variant keys.