Unity

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ついじっただけなのに関係ない差分がいっぱい出た!」ってなりがちです。 そうならないように、差分を先に全部出してし…

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…

Photon QuantumとMultiplayer Play Modeを組み合わせると、Virtual Playerに好きなメッセージを送れて便利

Photon QuantumのSDKが無償化してから早2年。もう説明は不要ですよね! Unity6から利用できるMultiplayer Play Mode(以下MPPM)と組み合わせることで、 とても便利にマルチプレイのテストを行うことができます。 百聞は一見に如かずということで、まずは動…

Unity IAPのGoogle Play Billing Libraryサポート状況について(7まで。)

Google Playでアプリを配信する際、アプリ内課金(IAP)を実装するにはGoogle Play Billing Libraryを使用する必要があります。 Unityから使用する場合、大抵の人気のあるアプリストアでアプリ内課金を簡単に実装できるUnity IAPを利用するケースが多いでしょ…

久々にAndroidビルドしたら `Execution failed for task ':launcher:mapDebugSourceSetPaths'.`

Gradleでこんな感じのエラー出た時の対処法。 1: Task failed with an exception. ----------- * What went wrong: Execution failed for task ':launcher:mapDebugSourceSetPaths'. > Could not resolve all files for configuration ':launcher:debugRunti…

Unityで files.getUploadURLExternal と files.completeUploadExternal を使ってSlackにファイルをアップロードする

files.uploadが廃止になると聞いたので。

Unity Project AuditorにてSRP batcher compatibleなシェーダーが"Not compatible with SRP batcher"と判定される

環境:Project Auditor package | Project Auditor | 1.0.1 SRP batcher compatibleなシェーダーが"Not compatible with SRP batcher"と判定され警告が表示されるバグがあります。 Library/PackageCache/com.unity.project-auditor*/Editor/Modules/ShaderAn…

右下の"Development Build"を消すパッケージをUnity6対応しました

github.com このパッケージをインポートするだけで、画面右下の "Development Build "の表示が消すことができます。 パッケージマネージャーからインポートするだけの簡単設計。 詳しくは以前の記事をご覧ください。 と、それは良いんですが、Unityの更新の…

Screen.SetResolutionに適当な解像度を渡すと想定しないアスペクト比になってしまうことがある

Unity - Scripting API: Screen.SetResolution 16:9と16:10だけサポートしておけば良いだろう。という考えで、 1920x1080、1920x1200、...のような解像度のリストを準備し、 その中からユーザーに解像度を選択してもらうUIを準備していたところ、 意図せずウ…

Enumを簡単にStringとしてシリアライズできるパッケージ作りました

github.com なにこれ? こんなコードを書いてEnumをシリアライズすると、 .unityや.prefabを見ればわかるように、内部的には0, 1, 2というintの値として保存されます。 つまり、Enumの途中に値を追加/削除すると意図しない指定の変更が起きてしまいます。 ↓ …

Unity6で新規プロジェクトを作るとビルドがやけに長い時の対処法。ネタバレ:Forward+はシェーダーコンパイルが長いよ。

Unity6で新規URPプロジェクトを作ると、ビルド時間がやけに長く、 ログを見るとシェーダーコンパイルが遅くなっていることが分かります。 (以下、実測結果はM1 Max MacBook Proによるもの) Unity2021LTS(2021.3.43f1)、Unity2022LTS(2022.3.47f1)、Unity6(…

OnPostprocessBuildでゴニョゴニョしたら、macビルドが "~.app is damaged and can't be opened." と言われ起動しなくなった時の治し方

OnPostprocessBuildなどで.appの中身を直接いじると署名が無効になり壊れる。 public void OnPostprocessBuild(BuildReport report) { // ごにょごにょ #if UNITY_STANDALONE_OSX UnityEditor.OSXStandalone.MacOSCodeSigning.CodeSignAppBundle(report.summ…

Unityのログをファイルに書きつつ出力もする(Windowsのbashでもteeみたいなことがしたい!)

マルチプレイの確認に便利なUnity Multiplayer Play Modeパッケージ!にて、ソースコードを編集してもVirtual Playerに反映されないバグの対処法

Unity6から使えるMultiplayer Play Modeという公式パッケージがあります。 Editor上のプレイボタンを押すと最大3つのプレイヤーが自動で立ち上がり(Editor本体を入れて4つ)、 マルチプレイゲームのデバッグが簡単にできる!という非常に便利なパッケージで…

PresetManagerに登録してあるPresetがちゃんと反映されているか確かめるテスト

AppIconChangerUnity OSダイアログ無効化バージョン

github.com 4年前に公開したこのアプリアイコンを動的に変更できるパッケージ、 たまに「OSのダイアログ(↓の画像のやつ)消せないの?」という問い合わせが来てました。 その時の返信は、 「わかる。邪魔だよね。でもOS側で出してるやつだからどうしようも…

Unity Editorから同じネットワーク上にいるデバイスのプレイヤーにデータを送る

Unity Editorから同じネットワーク上にいるデバイスのプレイヤーにデータを送る https://t.co/fnpTJV1L9n #きゅぶろぐ pic.twitter.com/6Qcy58acdZ— きゅぶんず (@kyubuns) March 3, 2024 UnityEditor.Networking.PlayerConnection.EditorConnection とかい…

Steamでゲームをリリースするときは、セーブデータの保存パスにSteamIDを入れよう!

具体的に言うと、 C:/Users/{UserName}/AppData/Local/{GameTitle}/Save/{SteamID}/ というディレクトリ以下にファイルを置いていくのが理想系かなと思います。 LocalがLocalLowだったり、Saveの部分が違ったりするのは趣味の範囲。 伝えたいことは、 セーブ…

右下の"Development Build"を消すパッケージを作りました

github.com このパッケージをインポートするだけで、画面右下の "Development Build "の表示が消すことができます。 以下のような使用用途が考えられます。 デバッグコマンドを使って、PVの撮影や、アプリストア用のスクリーンショットが気軽に撮れる。 ゲー…

-nographicsオプションをつけてUnity Editorを起動するとRenderTextureが使えなくなる

AppIconChangerUnity では、OnPostprocessBuildでRenderTextureを使用してアイコンの拡縮を行なっていました。 しかし、アイコンが灰色になるというissueが上がってきたため調査をしていたところ、 Unity -quit -batchmode -projectPath . -executeMethod Bu…

(未解決) iOS 16でUnity製アプリが許可していない方向で起動する問題

何が起きてるの? 以下の画像のように "Allowed Orientations for Auto Rotation" を設定しているにも関わらず、 iOS 16(iPadOS 16も言わずもがな)上で、許可されていない方向でアプリが起動してしまう問題が発生しています。 再現方法 このバグは安定的に…

Unityでスクリプトからパッケージ依存を削除する方法

iOS/AndroidではUnityIAPを使っているけれど、Windowsでは使用していない。 それにも関わらず、UnityIAPが有効になっていると勝手にUnity Analyticsも有効になり気持ち悪いから Windowsビルドの時だけパッケージ依存を削除したい・・・みたいなことあります…

SteamDeck上でUnityのVideoPlayerを利用しても動画が再生されない時の解決策

これはゲーム開発者向けの記事です。 プレイヤーの方で対処方法を探している場合は[SteamDeck Proton GE]などでググってください。 症状 Winows上では、正しく動画が再生されている。 SteamDeck上で再生しようとすると、動画の代わりにカラーバーが表示され…