だいぶ初歩的なところですが普通に詰まってました.
敗因:Unityのビルドの仕組みがあまり分かってなかった.
状況としては,Unityプロジェクトでオブジェクトの属性としてC#のプログラムをつけてプログラムをいじってた時.Unity+Riderで開発していたのですが,Rider上のNuGetでパッケージをインストールしてもパッケージがResolveされない問題が起こりました(下図参照)
原因としては単純で,Unity Editorでビルドする時にはRiderの設定で指定してるパッケージディレクトリのパッケージは読まれない(考えてみれば当然.UnityもRiderも初心者だから問題の細分化がしずらく手間取ってしまった) UnityでC#をいじる時にRiderを読み出しても,あくまでRiderのエディタ部分のみ使うということです.ビルドツールとしては考えない.
なので,解決策としてはUnity用のパッケージマネージャ(NuGetForUnity)を入れてそこからパッケージをインストールする.
<感想>
Unityのどのディレクトリにどういうファイルが入るか,ビルドした時にどう動くかなど,もっと知りたい(入門書読んでもXYZ軸がどうとか大したこと書いてないのが多い...困ってる).
<余談>
自分が一番最初に想像してたイメージとしては,以下の図の下2つのような感じ.Unity EditorからRider読み出してるから,良しなにパッケージ管理のパスもUnityのビルド用に変更してくれてたりとか,C#のビルドまではRiderの方でやってたりとかするのかなと思ってた.
上の正解のイメージ(NuGetで入れたパッケージのパスをUnityビルド時には参照してない)なのかなと思った後も,NuGet公式にはサードパーティ製のNuGetForUnityの情報など載ってないので,NuGetで入れたパッケージからdllを取り出してUnityプロジェクトの色んなディレクトリに入れてみたりしていた(Unityのビルド時にリンクしてくれるディレクトリを探したりしてた).