概要
brew install terminal-notifier
上記のコマンドで terminal-notifier をインストールしておく。
using System.Diagnostics; using System.IO; using System.Linq; using UnityEditor; using UnityEditor.Compilation; [InitializeOnLoad] internal static class Example { static Example() { CompilationPipeline.assemblyCompilationFinished -= OnFinished; CompilationPipeline.assemblyCompilationFinished += OnFinished; } private static void OnFinished ( string assemblyName, CompilerMessage[] messages ) { if ( messages.All( x => x.type != CompilerMessageType.Error ) ) return; // `which terminal-notifier` コマンドで取得したパスを設定 const string fileName = "/opt/homebrew/bin/terminal-notifier"; var title = $"error: {Path.GetFileNameWithoutExtension( assemblyName )}"; var message = string.Join( "\n", messages.Select( x => x.message ) ); var arguments = $@"-title ""{title}"" -message ""{message}"" -sound think"; var startInfo = new ProcessStartInfo { FileName = fileName, Arguments = arguments, RedirectStandardOutput = true, RedirectStandardError = true, UseShellExecute = false, CreateNoWindow = true }; var process = new Process { StartInfo = startInfo }; process.Start(); process.WaitForExit(); } }
