Unity6.3で、ついに右下の「Development Build」表示を消すことができるようになった!

あのPVを素材を撮影する時にわざわざデバッグ操作を行えるリリースビルドを作らないといけなくて面倒だった右下の「Development Build」表示ですが、 なんとUnity6.3から Watermark.showDeveloperWatermark = false; で消すことができるようになりました!!…

Unity向けの軽量FPSカウンターを作りました

github.com 特徴 FrameTimingManagerによる計測。 ビットマップフォントは任意のグリフ/セル寸法のアトラスに差し替え可能。 もちろん実行時のGCアロケーションはゼロ。 経緯 世の中に意外とFrameTimingManagerで計測を行っているFPSカウンターのパッケージ…

Photon Gaming Circleに参加するとCounter APIが使用できるようになる

PhotonのGaming Circle($125/月〜)に参加すると、サポートメールが爆速で返ってくるだけでなく なんとPhoton Counter APIが利用可能になり、 Web APIでCCU等のAnalytics情報を取得できるようになり便利。 (日本語のドキュメントは古くてエンタープライズ…

NullReferenceException in UnityEngine.Rendering.Universal.UniversalRenderPipeline.CheckPostProcessForDepth

URP で Project Settings > Graphics > URP > Default Profile に設定されている Volume Profile をうっかり削除してしまうと、 Editor上では問題なく動くがビルド後にUnityEngine.Rendering.Universal.UniversalRenderPipeline.CheckPostProcessForDepth内…

File.WriteAllでセーブデータの書き込みを行っていると、書き込み中にクラッシュした際にファイルが破損することがある

起こったこと System.IO.File.WriteAllBytesAsync("SaveData", data); のようなコードでセーブデータの書き込みを行っていました。 しかし、あるときちょうど書き込み中にクラッシュが発生し、SaveDataがサイズは正しいのにすべて0で埋まった状態になってし…

Unity6.0からPixel6シリーズでVulkanが使われなくなった

おそらくUnity2022まではVulkanが使われていたはずですが、 Unity6.0にアップデートしたところPixel 6でVulkanが使われなくなりました。 不思議だなーと思って調べていたところ、ドキュメントにこんな記述が Note: Unity doesn’t allow Google Pixel 6 devic…

Photon Realtimeで通信中にゲームを終了しようとするとフリーズ/クラッシュする時の対処法

おそらくPhoton Fusion, Photon Quantum, PUNあたりは裏で勝手にやってくれているはずなので対象外。 どこかのUnityバージョンから、裏でスレッドが動き続けているとゲーム終了時にフリーズやクラッシュをするようになった。 Unity Issue Tracker - [General…

Unityアップデートにより発生する差分を先に全部出すスクリプト

Unityってバージョンをあげても、その時点ではできるだけ差分がでないようにしてくれます。 しかし、その後作業していると「ここの値を1ついじっただけなのに関係ない差分がいっぱい出た!」ってなりがちです。 そうならないように、差分を先に全部出してし…

JenkinsでInspectCodeの結果をいい感じにGitHubにコメントする

JetBrainsのInspectCodeめちゃくちゃ便利なんですが、 結果の出力形式がSARIFに変わってからパースがめんどいな〜と思っていたのでこんな感じにしてみました。

AddressablesにAudioMixer依存が混入したら落とすUnitTest

Addressablesに登録したアセット(主に Prefab)がAudioMixer/AudioMixerGroupを参照していると、 ロード順によってAudioMixerが複数ロードされ、 パラメーター変更を行なっても反映されないな?みたいな事故が起こりがちです。 そもそも、AudioMixer/AudioM…

KenneyさんのとこのInput PromptsをUnityに読ませる

KenneyさんのとこのInput Prompts。 kenney.nl ダウンロードすると、個別ファイル、フォント、SpriteAtlasと全ての便利な形式で入っている。 本当に頭があがらない。 Unityで使用するのであれば、SpriteAtlas形式のものが便利そうなので、こちらをUnityに読…

UnityロゴのSplashScreenがビルドに含まれないようにするためにはShow Splash Screenをfalseにするだけでは足りない

Show Splash Screenをfalseにするだけだと、 別に表示されないのにUnityロゴのSplashScreen画像がビルドに含まれてしまう。 これが2.7MBぐらいあって地味にデカい。 一度Show Splash Screenをtrueにし、 Show Unity Logoをfalseにした上で、再度Show Splash …

AddressablesのAddressableAssetEntry.IsFolderは特定のメソッドを呼ばないとtrueにならない

(com.unity.addressables 2.7.4現在の情報です。) AddressableAssetEntry.IsFolder というプロパティでフォルダかどうか判定できそうに見えるが AddressableAssetEntry.GatherAllAssets を呼ばない限りこのプロパティがtrueになることはない。 ビルドかけ…

Addressableから読み込んだシーンはSceneManager.GetSceneByNameで取得できないパターンがある

Addressables.LoadSceneAsync などでAddressableからシーンを読み込んだ時、 そのシーンが含まれるGroupのInternal Asset Naming ModeがFilename以外だと、 SceneManager.GetSceneByName で取得することができなくなります。 本来は Addressables.LoadSceneA…

Unity Application Patcherで "Patch hash not found." と表示された時はUnityに連絡しよう

巷を騒がせているUnityのセキュリティ脆弱性(CVE-2025-59489)対応について。 unity.com Unity Application Patcherで対応を行おうとした際に ログに "Patch hash not found." と表示された時は、 Unity Application Patcherの対応漏れの可能性があるためUn…