バーチャル3Dクリエイター神部まゆみです(*^_^*)
この記事はunityでCS0246とCS0234エラーが出たので対処法をメモしておきます。
CS0234とCS0246エラーはMathematicsがないことが原因でも起きたので、↓の記事も参考になるかもしれません。
動作させた環境はunity2022.3.22、UniVRM v1.28.0です。





※追記:その後UniVRM v1.29.3でも同様のエラーが出たため、バージョンはあんまり関係ないかもしれません。
エラー名 Assets\VRM\Runtime\FastSpringBone\Components\FastSpringBoneScheduler.cs(10,26): error CS0246 などその他多数
こんな感じのエラーが36個も並んでおり、「消去」を押しても消えません。


Assets\VRM\Runtime\FastSpringBone\Components\FastSpringBoneScheduler.cs(10,26): error CS0246: The type or namespace name ‘FastSpringBoneBufferCombiner’ could not be found (are you missing a using directive or an assembly reference?)
みたいなCS0246エラーがほとんどですが、
Assets\UniGLTF\Runtime\SpringBoneJobs\FastSpringBoneConbinedBuffer.cs(8,30): error CS0234: The type or namespace name ‘Blittables’ does not exist in the namespace ‘UniGLTF.SpringBoneJobs’ (are you missing an assembly reference?)
というCS0234エラーも混じっています。
UniVRMをインポートした直後にエラーが出たからそれが原因?
UniVRMを入れた直後にエラーが出たので、まぁそれが原因だと思いますね…。

解決策:UniVRMのフォルダを消して入れ直す
どうもUniVRMが既に入れてある状態で重複してUniVRMを入れようとするとこのエラーが出るみたいで、いったんUniVRMのフォルダを削除して入れ直せば大丈夫でした。
消すフォルダは↓だけど、まぁ事前にバックアップをとっておいたほうが良いかもしれません。私はいつも見切り発車で消してしまうが…。


- UniGLTF
- VRM
- VRM10
VRM0.0向けのUniVRMを入れてあるプロジェクトだとVRMShadersとかいうフォルダもあったので、これもあったら消します。


ちなみに重複と言ってもUniVRM1.0とUniVRM0.0の重複ではなく、UniVRM1.0同士の重複でした。
↓1.0と0.0は共存できるみたいなので大丈夫です。


注意点 マテリアルエラーになったらMTOONを設定し直すか、VRMモデルをunityにインポートするところからやり直したほうが良いかも?
これUniVRMのバージョンによって挙動が違うのかな?
だいたいUniVRMを入れ直すと自動でMTOONが再設定されるんだけど、UniVRMを入れ直しても今回はマテリアルエラーになってしまった。


↓マテリアルをMTOONに設定し直しても見た目が変わってしまったので、あきらめてVRMモデルをunityにインポートするところからやり直しました。
unityで作りこんでからこうなると悲惨なことになるので、まぁバックアップは日ごろからとっておいた方が良いですね…。
もしくは良い感じのができたらUnityPackageにして保存しておいたり、オリジナルのモデルならいっそバックアップがてらBOOTHに出しておくのも良いかもしれないです。
おわりに
案外簡単に直って良かった。
まぁこういうエラーはよくあるのでバックアップはこまめにとっておいたほうが良いですね。
また何かあれば追記します(*^_^*)