Skip to Content

User

The User module provides functionality for managing user authentication and profiles in your Unity game.

Overview

The User module allows you to:

  • Handle user authentication via the Pixidus platform
  • Manage user profiles
  • Access user information (email, display name, avatar, coins)
  • Track purchased in-game items

Classes

PixidusUser

The main user data class containing all user information.

public class PixidusUser { public string id; // Unique user identifier public string email; // User's email address public string display_name; // User's display name public string avatarUrl; // URL to user's avatar image public int coins; // User's coin balance public List<PurchasedInGameItems> purchased_in_game_items; }

PurchasedInGameItems

Contains the user’s purchased items, separated by type.

public class PurchasedInGameItems { public List<string> persistent; // Items that persist (e.g., skins, characters) public List<string> one_time; // One-time consumable items (e.g., power-ups) }

Methods

ShowAuthModal

Opens the authentication modal on the Pixidus website, allowing users to sign in or create an account.

// Show the authentication modal PixidusSDK.User.ShowAuthModal();

This method only works in WebGL builds. In the Unity Editor, it will log a debug message instead.


GetUser

Retrieves the current user’s information. Returns null if the user is not authenticated.

// Get current user PixidusSDK.User.GetUser((user) => { if (user != null) { Debug.Log($"User ID: {user.id}"); Debug.Log($"Email: {user.email}"); Debug.Log($"Display Name: {user.display_name}"); Debug.Log($"Avatar URL: {user.avatarUrl}"); Debug.Log($"Coins: {user.coins}"); // Check purchased items if (user.purchased_in_game_items != null) { foreach (var items in user.purchased_in_game_items) { Debug.Log($"Persistent items: {string.Join(", ", items.persistent)}"); Debug.Log($"One-time items: {string.Join(", ", items.one_time)}"); } } } else { Debug.Log("User not authenticated"); // Optionally show auth modal PixidusSDK.User.ShowAuthModal(); } });

Example Usage

Here’s a complete example of implementing user authentication in your game:

using UnityEngine; using UnityEngine.UI; using TMPro; using Pixidus; public class UserManager : MonoBehaviour { public TMP_Text userNameText; public TMP_Text coinsText; public RawImage avatarImage; public Button loginButton; private void Start() { loginButton.onClick.AddListener(OnLoginButtonClicked); RefreshUserInfo(); } public void OnLoginButtonClicked() { PixidusSDK.User.ShowAuthModal(); } public void RefreshUserInfo() { PixidusSDK.User.GetUser((user) => { if (user != null) { userNameText.text = user.display_name; coinsText.text = user.coins.ToString(); loginButton.gameObject.SetActive(false); // Load avatar image StartCoroutine(LoadAvatar(user.avatarUrl)); } else { userNameText.text = "Guest"; coinsText.text = "0"; loginButton.gameObject.SetActive(true); } }); } private IEnumerator LoadAvatar(string url) { using (var request = UnityWebRequestTexture.GetTexture(url)) { yield return request.SendWebRequest(); if (request.result == UnityWebRequest.Result.Success) { avatarImage.texture = ((DownloadHandlerTexture)request.downloadHandler).texture; } } } }

Support

Need help? Our support team is here for you:

Last updated on