はじめに
この記事はHamster Output Advent Calendar 2024の18日目の記事です!
ビルドしようとした時にとあるエラーが出てきました。今回はこのerror CS0246の治し方を記事にしたいと思います。
error CS0246: The type or namespace name 'MenuItem' could not be found (are you missing a using directive or an assembly reference?)
エラー原因を探る
まずは、出てるエラーの箇所を見て見ます...今回のエラーの場所はCreateScriptTemplate.csの26,10行目で起こっている見たいですね。
このCreateScriptTemplate.csは自分が少し前に作ったテンプレートを元にスクリプトを作るエディタ拡張です。今回のエラー内容からこのエディタ拡張をしているクラスに問題があるらしく、ネットで調べると同じ用な状態になっている人を見つけました。
namespaceがUnityEditorのものはビルドに含められないのでそのエラーが出ます。
回答から、UnityEdiotr関連の内容はビルドに含むことができないエラーだということが分かりました!
解決方法
ありがたいことに、先ほどの記事に解決方法が書いてありました。
1.スクリプトの場合UnityEditorの部分を #if UNITY_EDITOR ~ #endif で囲う
2.Editorフォルダーを作り、その中にエディタ拡張を入れる
この2つのどれかで解決する見たいです。
また、Assemblyを切り分けている場合はプラットフォームをEditorのみを選択する必要もあるみたいです。