For the complete documentation index, see llms.txt. This page is also available as Markdown.

Desktop Installation

Please note that the USAGE OF THIS PLUGIN ON DESKTOP IS NOT RECOMMENDED as it uses a local HttpListener and works with localhost instead of a real domain or a real domain with an insecure html-script. Both comes with security risks.

Configuration

Component and Events

Add the CloudWalletPlugin-Component to your Script and assign EventHandlers to the individual Events.

public void Start()
{
    // Instantiate the WaxCloudWalletPlugin
    _cloudWalletPlugin = new GameObject(nameof(CloudWalletPlugin)).AddComponent<CloudWalletPlugin>();

    // Assign Event-Handlers/Callbacks
    _cloudWalletPlugin.OnLoggedIn += (loginEvent) =>
    {
        Debug.Log($"{loginEvent.Account} Logged In");
    };

    _cloudWalletPlugin.OnError += (errorEvent) =>
    {
        Debug.Log($"Error: {errorEvent.Message}");
    };

    _cloudWalletPlugin.OnTransactionSigned += (signEvent) =>
    {
        Debug.Log($"Transaction signed: {JsonConvert.SerializeObject(signEvent.Result)}");
    };

    ... see below ...

}

Initialization

Initialization of the CloudWalletPlugin for Desktop-Builds or the use within the Unity Editor

The following Examples show different ways to initialize the Plugin for Desktop

Local Website hosted from Resources Folder

Initialization while using a locally hosted Website and the index.html and waxjs.js files loaded from the Resources-Folder. Important! - using this in Release Builds and for purposes outside Development is not recommended as it comes with security-risks.

- You need to copy the CloudWallet-Folder containing waxjs.txt (yes, it's txt-file) and index.html from the CloudWalletPackage to your Resources-Folder.

- With this example the local port needs to match the port used in the cloudWalletSigningWebsiteUrl as it's hosted via the same HttpListener.

- https is not supported as Unity does not allow to provide a certificate for a HttpListener (which wouldn't work with localhost anyways).

Local Website hosted from custom Pathes

Initialization while using a locally hosted Website while the index.html and waxjs.js files are loaded from a custom path specified by the developer.

Important!

- using this in Release Builds and for purposes outside Development is not recommended as it comes with security-risks.

- Text Assets stored outside the Resources Folder will not be included in builds, you need to manually add them to your Build-Output while defining a correct path.

Hosted Website (not local)

Important!

- using this in Release Builds and for purposes outside Development is not recommended as it comes with security-risks.

- custom paths will be ignored

- https is not allowed as the local HttpListener can't be a SSL-protected and SSL-protected websites can't communicate with non-SSL-protected HttpListeners

- the index.html needs to contain the custom javascript-eventlistener you can find in the custom index.html provided here and in the upm-package.

Troubleshooting

Pop-Ups

Some Browsers block Pop-Ups by default, if you don't see the CloudWallet signing Window popping up when the Browser opens you might need to allow Pop-Ups for the Url you choose in your initialization-call.

Debug-Mode

The index.html provided allows to switch between debug and release-mode. Changing the default value (false) to true results in prompts/messageboxes containing helpful information shown when interacting with the CloudWallet. See here

Last updated