Skip to content

System Module

The System Module provides comprehensive information about the device, operating system, Unity runtime, and hardware capabilities. Just about everything you need to know about your game's performance and device compatibility.

You can also add your own custom system information values, if you want to track something specific to your game.

System Module

API

The System module API (ISystemModule) provides methods to add custom system information values alongside the built-in data. Access it via Debby.System.

AddValue (AdjustableValue)

Adds a dynamic value that updates in real-time.

csharp
void AddValue(
    string category,
    string name,
    AdjustableValue<string> value
)

Parameters:

  • category: The category to group this value under
  • name: Display name for the value
  • value: AdjustableValue wrapper for dynamic updates

Example:

csharp
using Debology.Debby;
using Debology.Debby.Modules.Adjust;
using UnityEngine;

public class CustomSystemInfo : MonoBehaviour
{
    private AdjustableValue<string> _playerCount;
    private AdjustableValue<string> _serverStatus;
    private int _currentPlayers = 0;

    void Start()
    {
        // Add dynamic player count
        _playerCount = new AdjustableValue<string>(() => $"{_currentPlayers} players");
        Debby.System.AddValue("Multiplayer", "Active Players", _playerCount);

        // Add server connection status
        _serverStatus = new AdjustableValue<string>(() =>
            NetworkManager.IsConnected ? "Connected" : "Disconnected"
        );
        Debby.System.AddValue("Multiplayer", "Server Status", _serverStatus);
    }

    void Update()
    {
        // Values automatically update in the UI
        _currentPlayers = NetworkManager.GetPlayerCount();
    }
}

AddValue (Static String)

Adds a static text value that doesn't change.

csharp
void AddValue(
    string category,
    string name,
    string value
)

Parameters:

  • category: The category to group this value under
  • name: Display name for the value
  • value: Static string value

Example:

csharp
using Debology.Debby;
using UnityEngine;

public class BuildInfo : MonoBehaviour
{
    void Start()
    {
        // Add custom build information
        Debby.System.AddValue("Build", "Build Date", "yyyy-MM-dd HH:mm");
        Debby.System.AddValue("Build", "Build Number", "1.0.234");
        Debby.System.AddValue("Build", "Git Commit", "a3f2b1c");
        Debby.System.AddValue("Build", "Build Machine", System.Environment.MachineName);

        // Add custom game information
        Debby.System.AddValue("Game", "Content Version", "Season 3");
        Debby.System.AddValue("Game", "Region", "US-West");
    }
}

Open

Opens the System module in the Debby UI.

csharp
void Open()