💻
【Unity】エディタ上で実行した際にM1 Mac(Appleシリコン)かどうかを判定する
UnityでM1 Macでどうしてもうまく動作しないライブラリがあり、仕方なくM1 Macだけ回避する処理を書いた時のメモ書きです。
SystemInfo.processorTypeを使う
UnityのSystemInfoには実行環境のプロセッサを出力するprocessorTypeというパラメータが用意されています。
// これを実行する
Debug.Log(SystemInfo.processorType);
// Intel Macの結果の一例 (MacBook Pro (16インチ, 2019))
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
// M1 Macの結果の一例 (MacBook Pro M1 Max (16インチ、2021))
Apple M1 Max
よって以下の記述でM1 Mac、もといAppleシリコンの環境で実行されているかを判定できます。
SystemInfo.processorType.Contains("Apple M")
検証環境
- Unity2021.3.0f13
- MacBook Pro (16インチ, 2019)
- MacBook Pro M1 Max (16インチ、2021)
Discussion