コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Unity 5 新機能「Application.logMessageReceived」

using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
    public string Condition;
    public string StackTrace;
    public LogType Type;
    
    private void OnEnable()
    {
        Application.logMessageReceived += HandleLog;
    }

    private void OnDisable()
    {
        Application.logMessageReceived -= HandleLog;
    }

    private void HandleLog( 
        string condition, 
        string stackTrace, 
        LogType type 
    )
    {
        Condition   = condition;
        StackTrace  = stackTrace;
        Type        = type;
    }
}

Unity 5 からログが出力された時に呼び出される
Application.logMessageReceivedイベントが追加されました

これまでもApplication.RegisterLogCallback関数を使用することで
出力されたログの情報を取得できましたが
1つのコールバック関数しか登録できませんでした

Application.logMessageReceivedはイベントなので
複数のコールバック関数を登録することができます

参考サイト様