UI Customization

Summary

You can customise the look and feel of the wallet to suit the UI of your game. Currently, you can customise the colours of the wallet, however we are constantly working to add more customisation options. If you have any requests, please post it on our Discord and we will look into it.

Reference

You can customise the theme of the wallet using the theme object passed in as an option while initialising the Metafi Component. It is an optional field, and leaving it empty will cause the wallet to use the default theme.

The theme object accepts the following parameters.

ParameterTypeDefinition

fontColors?

Object

Allows you to adjust the font colours of the wallet. Accepts a primary and secondary colour - primary is used for headings, and secondary is used for most other text. Example:

fontColors = new { 
    primary = "#1f0203", 
    secondary = "#561d19" 
}

bgColor?

String

Allows you to adjust the background colour of the wallet, as well as the bg colour of menus and popups. Accepts any CSS colour string as input. Example:

bgColor = "linear-gradient(0deg, #f3b344 0%, #d27435 100%)"

ctaButton?

Object

Adjust the colours of CTA Buttons in the wallet. You can adjust the font colour and background colour of the buttons. Example:

ctaButton = new {
    color ="#fbe383", // adjusts background color
    fontColor = "#ffffff",
    disabled = new {
        color = "rgba(255,255,255,0.2)",
        fontColor = "rgba(255,255,255, 0.5)",
    },
},

optionButton?

Object

Adjust the colours of non-CTA Buttons in the wallet. You can adjust the font colour and background colour of the buttons. Example:

optionButton = new {
    color = "rgba(0,0,0,0.2)",
    fontColor = "#561d19"
}

metafiLogoColor?

String

Set the Metafi logo to either light mode or dark mode. For a dark background, please set the Metafi Logo to light colour. the default is dark

Example

using Metafi.Unity;
using System.Dynamic;

public class StartButton : MonoBehaviour {
    async void Start() {
        Debug.Log("Initializing Metafi Provider");

        dynamic _options = new ExpandoObject();
        _options.logo = @"Assets/Resources/logo-2.png";
        _options.theme = new {
            fontColors = new {
                primary = "#FFFFFF",
                secondary = "#e8e8e8"
            },
            bgColor = "#29327F",
            ctaButton = new {
                color = "#F19B28",
                fontColor = "#FFFFFF"
            },
            optionButton = new {
                color = "rgba(255,255,255,0.1)",
                fontColor = "#FFFFFF"
            },
            metafiLogoColor = "light",
        };
        
        await MetafiProvider.Instance.Init(
            "apiKey",
            "secretKey",
            _options,
            new List<Chain> {Chains.ETH, Chains.MATIC, Chains.GOERLI, Chains.MUMBAI},
            new List<Token> {},
            false
        );
        
        Debug.Log("Metafi Provider initialized");
    }
}

Last updated