バーチャル3Dクリエイター神部まゆみです(*^-^*)
この記事はVRChatワールドSDK3.4にしたらエラーが出たので復旧したメモです。
またアップデートがあれば似たようなエラーが出るかもしれないので記録を残しておきます。
VRChatワールド SDK3.4.1が来ていたので適当にアップデートしたら…
なんだこのエラーはΣ(゚Д゚) unityが壊れた!

[UdonSharp] Script RotatingCubeBehaviour.cs is referenced by 2 UdonSharpProgramAssets, scripts can only be referenced by 1 program asset.
Referenced program assets:
[UdonSharp] Script RotatingCubeBehaviour.cs is referenced by 2 UdonSharpProgramAssets, scripts can only be referenced by 1 program asset.
Referenced program assets:
のようなエラーが出ています。
Udon Sharpのサンプルを動かしていた時に、VCCでSDKのアップデートをしてたらエラーが出ました。
ワールドに置いていたQvPenもエラーになってしまった。
他の先輩たちもエラー出てるっぽい?
検索したら先輩たちもエラーが出てるっぽいです。
最新版のVCCでアップデートすると良いっぽい?
しかし私のVCCは既にアップデートしてあった…。
もうこのプロジェクトを作って一年くらい経つから、単に古いから上手くいかなかったのかな?不明。
3.4系からUdon SharpがSDKに統合されたことが原因っぽい?
以前はUdon Sharpは別々に入れていた気がする。
3.3に戻すとUdon Sharpがあるけど3.4にすると表示されてないからそれっぽい。

↓3.3に戻したところ。

しかし戻してもエラーが出てダメだな…

対策:一旦VRChat SDKを根こそぎ消して入れ直す
Udon関係のやつがダメになった感じっぽいから、配置したオブジェクトがエラーになったわけではない。
とりあえずVRChat SDKを根こそぎ消して入れ直してみます。
何かあっても責任とれないのでやるなら自己責任でお願いします(;^_^A
最低限バックアップはとっておいたほうが良いでしょう。
右のマイナスボタンを押してSDKを消す。

これで消えたかな。

手動でAssetsフォルダとPackagesフォルダにあるVRChat関係のフォルダを消す。
AssetsフォルダはUdonSharpフォルダだけかな?

packagesフォルダには
- com.vrchat.base
- com.vrchat.core.vpm-resolver
とかいうフォルダが残っていたので削除します。
フォルダ名やファイル名に「vrchat」とか「vrc」とかついてるやつがあったら根こそぎ消してみると良いかな。

この段階でプロジェクトを開いて再生してみたけど、Udonノードを組んだオブジェクトで警告が出るだけで一応再生はできるようになった。
警告は大量に出るけどエラーは一つもなかった。

あ、でもエラーが出る前にビルド失敗したっぽいUdon Sharp関係のファイルでは一部エラーが出ていたのでそれは消した。
確か↓の .asset とかいうファイルかなぁ。うろ覚えだけど一応書いておく。

Creator CompanionでSDKを入れ直す
とりあえずworldsだけ入れたらBaseも勝手にインストールされたので、この二つだけで行ってみます。

プロジェクトを開いてみる
プロジェクトを開いて再生ボタンを押してみたら、なんかClientSimがなんとかっていうウィンドウが出てきた。
エラーは出てなかったので右上の×を押して消した。
これについては後で調べよう。

なんか画面に表示されてるけど、選択できなかったので無視して再生終了します。

とりあえずエラー出てないから大丈夫かなぁ。
QVPenはエラーになってしまった…
これでQVPenも動くだろうと思ってインポートしたらまたエラーが出てしまった…。

私だけかと思ったら他の先輩もなってるっぽい?
検索したら出てきた↓の先輩のやり方を試してみたけど、種類が違うエラーなのか?残念ながら治らなかった。
新規にプロジェクト作ると上手くいくかも?
しかし新規にプロジェクト作り直すのもだるいので、いったん削除しておきます…。

まぁでもunitypackageにしてエクスポートしておけば配置したオブジェクトは引き継げると思うし、後で作り直してみるかもしれません。
2023/12/14追記:unity2022.3.6にアップデートしてSDK3.5.0にしたらQvPen動くようになってた
QvPenはアップデートされてないみたいだけど、unity2022.3.6にアップデートしてSDK3.5.0にしたら動くようになってました。
SDKの問題だったのかな?

まぁまた使えるようになって良かったです。
これで無事アップロードできた!
普通にアップロードできましたね。


しかしマテリアルが一部エラーになった…。


というかバグってblenderで設定したマテリアルスロットごと消滅してる感じ?
マテリアルが再設定できなくなったので、これはもう一度インポートしなおさないとダメかも。
まぁそれ以外は大丈夫みたいです。
家のファイルは気に入らない部分をちょこちょこ修正しているから、そろそろ一から設定しなおしてみるかな。
追記: 普通にマテリアル再設定したら治りました(;^_^A
見落としてただけっぽい。
おわりに
SDKがアップデートされるとこういう不具合が出ることもあるかも。
一からプロジェクト作り直しても良いようにしておいたほうが良いかな。
まぁワールド作成って自己満足だからどこまでやるかっていう問題があるけど(;^_^A
また似たような不具合が出れば追記するかもしれません。