SteamからSMSが届かない問題

Steamの二段階認証に必要なSMSが届かない。
なのでサポートに連絡して、いったん電話番号を削除してもらってもう一度登録しようとするも、そのときに必要なSMSが届かない。

一晩おいて、もしかして... っと思って試したのが、

"+81" と書いてある後に、90-xxxx-xxxx で入力するのではなく、090-xxxx-xxxxと登録すること。

なんとこれでSMSが来るようになりました!

良かった良かった。

なんかUnityでプロジェクトファイルが開けなくなった

起動しようにも途中でクラッシュしてしまうという。。。

Libraryフォルダを削除しても、プロジェクトをCloneし直しても、Unityをインストールし直しても駄目でした。

最新のUnityをインストールし、Libraryフォルダを削除した状態で開き直したらプロジェクトを開けました。

さらにその後に元のUnityのバージョンで開いたら大丈夫になりました。

別プロジェクトのPV用にUnityで動画撮影してて、その最中にMacのストレージが枯渇してエラー吐いた後からおかしくなった気がするので、そのときにUnityが内部で使っている何かしらのキャッシュがおかしくなっていたのかも?

Alpha ClippingしているマテリアルのShadowがEditorではちゃんと表示されるのにビルドではクリップされずに表示される。

Alpha ClippingしているマテリアルのShadowがEditorではちゃんと表示されるのにbuildではクリップされずに表示される。


ここで報告されているバグ
issuetracker.unity3d.com

解決策(ワークアラウンド)
マテリアルのShader設定をComplex Litに設定する(処理は少し重くなっちゃうけど)

UnityのCloud Storageの料金について

UnityからStorageの使用料で請求が来ていて、一体何で使用しているのか分からなかったので問い合わせたところ、Version Controlに関するものと、自動ビルドに関わるものでした。

Version Controlは、元々、Unity Colaboration時代に無料だったから使っていただけだったのでリポジトリを全部削除しました。

削除方法は以下↓
https://support.unity.com/hc/en-us/articles/13820872052884-How-do-I-delete-my-Unity-Version-Control-repository-?source=search&auth_token=eyJhbGciOiJIUzI1NiJ9.eyJhY2NvdW50X2lkIjoyNzI3MDEsInVzZXJfaWQiOjM2MTExMTcwNzkyMywidGlja2V0X2lkIjoxNzE0NTAxLCJjaGFubmVsX2lkIjo2MywidHlwZSI6IlNFQVJDSCIsImV4cCI6MTcwMzcyODY5M30.Ux61O5mUL86lS3gWCC-XuLgbSPNvt85lgSWJNcelxOM


また、Build Automation(旧Cloud Build)で使用しているStorageに関しては、5GBまでは無料だそうですが、5GBを超えた分に関しては、

Storage(GB) x 保存期間(hour) x $0.00019 が掛かるとのこと。
なので、例えばビルド履歴に1GBのビルドがあると何もしなくても1ヶ月あたり、1GB * 24時間 * 30日 * $0.00019 -> $0.1368 が掛かります。

これを避けるには、ビルド履歴からビルドを選んで削除することで使用しているStorage量を削除する必要があるそうです。

これも過去に遡ってビルドを削除しました。

HotReload AssetとUniTask

以下のようなケースでは、コードを追加しても変化がない

        private async UniTask Start()
        {
            while (true)
            {
                Debug.Log("hoge");//後から追加しても反応しない。文字列変更も反映されない。
                await UniTask.Yield();
            }
        }

UniTask内であっても、以下のように呼ばれ直すような場合は大丈夫

        private void Update()
        {
            Hoge().Forget();
        }
        
        private async UniTask Hoge()
        {
            Debug.Log("hoge");//後から追加しても、ちゃんとhogeが出力されるようになる。文字列変更も反映される
            await UniTask.Yield();
        }

HotReloadは関数が呼びなおしされるっぽいので、以下のようにしておけば反映される。できるだけ細かく関数に分けておくようにすると良さそう。

        private async UniTask Start()
        {
            while (true)
            {
                PrintHoge();
                await UniTask.Yield();
            }
        }

        private void PrintHoge()
        {
            Debug.Log("hoge"); //後から追加しても、ちゃんとhogeが出力されるようになる。文字列変更も反映される
        }