logo

Unityで端末情報、IPアドレスを取得する方法

投稿日2023-02-03

更新日2024-05-17

Picture of the logo
目次(タップして移動)

TL;DR

下記に各種情報を取得してログ表示するサンプルコードを紹介します。

using UnityEngine;
using System.Net;
public class SystemInfo : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        GetInfo();
        GetIP();

    }
    // 端末情報を取得する
    private void GetInfo()
    {
        Debug.Log(UnityEngine.SystemInfo.deviceUniqueIdentifier);   //端末固有識別番号
        Debug.Log(UnityEngine.SystemInfo.processorType);            //CPU 型番
        Debug.Log(UnityEngine.SystemInfo.graphicsDeviceName);       //GPU 型番
        Debug.Log(UnityEngine.SystemInfo.processorFrequency);       // CPUクロック数
        Debug.Log(UnityEngine.SystemInfo.processorCount);           // CPUコア数
        Debug.Log(UnityEngine.SystemInfo.graphicsDeviceType);       // グラフィックAPI名
        Debug.Log(UnityEngine.SystemInfo.deviceName);               // 端末名
        Debug.Log(UnityEngine.SystemInfo.deviceType);               // PC・mobile等の端末タイプ
        Debug.Log(UnityEngine.SystemInfo.graphicsMemorySize);       // VRAM容量(MB単位)
        Debug.Log(UnityEngine.SystemInfo.batteryLevel);             // バッテリーレベル
        Debug.Log(UnityEngine.SystemInfo.batteryStatus);            // 現在の充電状況

    }
    // IPアドレスを取得する
    public void GetIP()
    {
        string hostname = Dns.GetHostName();

        IPAddress[] ipAddresses = Dns.GetHostAddresses(hostname);

        foreach (IPAddress ipAddress in ipAddresses)
        {
            Debug.Log(ipAddress.ToString());
        }
    }
}

人に見せられない情報が多数表示されるのでスクショはありません。簡単なので各自試してみて下さい。

SystemInfoについて

ここで紹介したのは一例です。ここでは紹介しきれないほど、UnityEngine.SystemInfoには多数のプロパティがあります。

IPAddressについて

IPアドレスの取得は可能ですが、試した限りではローカルIPだけです。どこで役立つのかはわかりません。グローバルIPの取得には別の方法が存在するのか、サーバー側からでしか出来ないのか・・・詳しい人いたら教えて下さいw

以上、簡単ではありますが、豆知識として各種情報の取得方法の紹介でした。






このサイトをシェアする