以下の内容はhttps://baba-s.hatenablog.com/entry/2025/02/24/191807より取得しました。


【Unity】iOS / Android の発熱やバッテリーの情報を取得できる「Unity Mobile Support - Thermal」紹介

概要

上記のパッケージを Unity プロジェクトに追加することで
iOS / Android の発熱やバッテリーの情報を取得できるようになります。

使用例

Android

using MobileSupport;
using TMPro;
using UnityEngine;

internal sealed class Example : MonoBehaviour
{
    [SerializeField] private TMP_Text m_tmpText;

    private float                m_batteryLevel;
    private BatteryStatus        m_batteryStatus;
    private ThermalStatusAndroid m_thermalStatus;
    private int                  m_batteryTemperature;
    private int                  m_batteryVoltage;

    private void Awake()
    {
        Thermal.OnBatteryLevelChanged               += x => m_batteryLevel       = x;
        Thermal.OnBatteryStatusChanged              += x => m_batteryStatus      = x;
        Thermal.OnThermalStatusChanged              += x => m_thermalStatus      = x;
        Thermal.Android.OnBatteryTemperatureChanged += x => m_batteryTemperature = x;
        Thermal.Android.OnBatteryVoltageChanged     += x => m_batteryVoltage     = x;

        Thermal.StartMonitoring();
    }

    private void LateUpdate()
    {
        m_tmpText.text = $@"Battery Level: {m_batteryLevel}
Battery Status: {m_batteryStatus}
Thermal Status: {m_thermalStatus}
Battery Temperature: {m_batteryTemperature}
Battery Voltage: {m_batteryVoltage}

Latest Battery Level: {Thermal.LatestBatteryLevel}
Latest Battery Status: {Thermal.LatestBatteryStatus}
Latest Thermal Status: {Thermal.LatestThermalStatus}

Latest Battery Temperature: {Thermal.Android.LatestBatteryTemperature}
Latest Battery Voltage: {Thermal.Android.LatestBatteryVoltage}

Battery Capacity: {Thermal.Android.GetBatteryCapacity()}
Battery Charge Counter: {Thermal.Android.GetBatteryChargeCounter()}
Battery Current Average: {Thermal.Android.GetBatteryCurrentAverage()}
Battery Current Now: {Thermal.Android.GetBatteryCurrentNow()}
Battery Energy Counter: {Thermal.Android.GetBatteryEnergyCounter()}
";
    }
}

iOS

using MobileSupport;
using TMPro;
using UnityEngine;

internal sealed class Example : MonoBehaviour
{
    [SerializeField] private TMP_Text m_tmpText;

    private float            m_batteryLevel;
    private BatteryStatus    m_batteryStatus;
    private ThermalStatusIOS m_thermalStatus;

    private void Awake()
    {
        Thermal.OnBatteryLevelChanged  += x => m_batteryLevel  = x;
        Thermal.OnBatteryStatusChanged += x => m_batteryStatus = x;
        Thermal.OnThermalStatusChanged += x => m_thermalStatus = x;

        Thermal.StartMonitoring();
    }

    private void LateUpdate()
    {
        m_tmpText.text = $@"Battery Level: {m_batteryLevel}
Battery Status: {m_batteryStatus}
Thermal Status: {m_thermalStatus}

Latest Battery Level: {Thermal.LatestBatteryLevel}
Latest Battery Status: {Thermal.LatestBatteryStatus}
Latest Thermal Status: {Thermal.LatestThermalStatus}
";
    }
}




以上の内容はhttps://baba-s.hatenablog.com/entry/2025/02/24/191807より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14