Unity×XR開発FAQ & Tips集 1,000 ver.0.8
-
エラー基礎
- Unityを起動するとConsoleに赤いエラーが大量に出る
- 「Object reference not set...」と「NullReferenceException」の違いは?
- 「Build path ... must be a directory when building for Android」エラーが出た。
- 「Coroutine cannot yield while being iterated over by foreach」の意味は?
- 「Enter Play Mode」でエラーが出るが実行前は出ない。
- 「error CS0012: The type '○○' is defined in an assembly...」が出た。
- 「FormatException: Input string was not in a correct format.」が出た。
- 「GetComponent requires that the requested component...」が出た。
- 「IndexOutOfRangeException」エラーの意味と対処法は?
- 「InvalidCastException: Specified cast is not valid.」が出た。
- 「Maximum number of coroutines reached」エラーへの対処は?
- 「MissingComponentException」が発生した。何が原因か?
- 「NullReferenceException」が発生した。原因と対処法は?
- 「Object has been destroyed but you are still trying to access it.」への対処は?
- 「Obsolete」警告が出ている。対処すべきか?
- 「UnassignedReferenceException: The variable ○○ of ○○ has not been assigned.」が出た。
- Unityエディタがフリーズして応答しない。どうすればよいか?
- Unityのバージョンをアップグレードしたらエラーが増えた。
- Unityを起動するとConsoleに赤いエラーが大量に出る。
- スクリプトに文法エラーがないのにコンパイルが通らない。
- 再帰処理を使っていないのに「StackOverflowException」が出た。
- 「Assertion failed」とはどういう意味か?
- 「Cannot implicitly convert type 'float' to 'int'」エラーの対処法は?
- 「DivideByZeroException」エラーが出た。どう対処するか?
- 「FileNotFoundException」エラーが出た。何が原因か?
- 「InvalidOperationException」エラーが出た。意味は?
- 「StackOverflowException」が起きた。原因は何か?
- 「Type mismatch」系のエラーが出た場合の一般的な対処法は?
- Consoleに「Warning」が大量に出ているが、無視してよいか?
- エラーが出ているがどこで発生しているか分からない。デバッグ方法は?
- エラーメッセージに行番号が表示されている。どう活用するか?
- エラーログがConsoleで見つからない。ログのフィルタ方法は?
- スクリプトを保存してもUnityに変更が反映されない。
- 「ArgumentOutOfRangeException: Index was out of range...」が出た。
- 「Coroutine couldn't be started because the game object is inactive」の意味は?
- 「Failed to load managed dll」というエラーの対処法は?
- 「KeyNotFoundException: The given key was not present...」が出た。
- 「Missing Script」コンポーネントを一括削除する方法は?
- 「NotImplementedException」が出た。
- 「ObjectDisposedException: Cannot access a disposed object.」が出た。
- 「OverflowException: Arithmetic operation resulted in an overflow.」が出た。
- 「Screen position out of view frustum」という警告が毎フレーム出る。
- 「Script is not derived from MonoBehaviour」エラーの原因は?
- 「The name 'Destroy' does not exist in the current context」エラーが出た。
- 「The referenced script on this Behaviour is missing!」の対処法は?
- 「There are inconsistent line endings in this script」警告の対処法は?
- 「Unity crashes on startup」の原因と対処方法は?
- 複数のスクリプトで同じクラス名を使うとどうなるか?
- 「Assets/... is not in a valid state for overwriting.」への対処は?
- 「Cannot destroy Transform component.」というエラーが出た。
- 「Hotkey conflicts」でショートカットが動かない場合の対処法は?
- 「IndexOutOfRangeException: Index was outside the bounds...」が出た。
- 「Multiple precompiled assemblies with the same name」が出た。
- 「NullReferenceException: Object reference not set...」が出た。
- 「Plugins must be compiled with '/unsafe'...」が出た。
- 「Shader compiler failed」というエラーへの対処法は?
- 「This script has been marked as broken and cannot be loaded」の意味は?
- 「TypeLoadException」が発生した場合の対処法は?
- 「UnityException: Transform child out of bounds」が出た。
- Scene上のオブジェクトが消えた。Undoで戻す方法は?
- Unityが突然クラッシュした。ログはどこで確認できるか?
- エラーや警告をスクリプトから意図的に出力する方法は?
- 大量の警告ログで重要なエラーが埋もれてしまう問題の対処法は?
- 「ArgumentNullException: Value cannot be null. Parameter name: key」が出た。
- 「Assets/... is not allowed to be modified」という警告の意味は?
- 「MissingReferenceException: The object of type 'GameObject'...」が出た。
- 「Shader error in '○○': undeclared identifier '○○'」が出た。
- 「Trying to access a RenderTexture that has been released」の対処法は?
- ビルド時に「IL2CPP error for method ... TypeLoadException」が出た。
- 残りの記事を表示 (54) 記事を折りたたむ
-
C#スクリプト
- async/awaitとコルーチンの違いは?
- Awake()とStart()の違いは何か?
- C#のSpanやMemoryをUnityで使う場面は?
- C#のStruct(構造体)をUnityのInspectorに表示する方法は?
- C#のジェネリック(Generic)とは何か?
- C#のパターンマッチングをUnityで活用する方法は?
- Jsonを使ったデータのシリアライズ・デシリアライズ方法は?
- Lazyを使った遅延初期化とは何か?
- LINQを使った配列/リストの便利な操作方法は?
- MonoBehaviourとは何か?
- MonoBehaviourのメッセージ関数(Start等)の実行順に依存しない設計は?
- partial classを使ってスクリプトを複数ファイルに分割する方法は?
- PlayerPrefsを使った設定値の保存方法は?
- ScriptableObjectとは何か?どう使うか?
- SerializeFieldとpublicの違いは何か?
- Unityのアセンブリ定義(asmdef)ファイルの使い方は?
- Update()、FixedUpdate()、LateUpdate()の使い分けは?
- オブジェクト指向のポリモーフィズムをUnityで活用する例は?
- コルーチン(Coroutine)とは何か?どう使うか?
- スクリプトのリセット(デフォルト値への初期化)の方法は?
- C#のstruct(構造体)とclass(クラス)の使い分けは?
- Compareとequals(==演算子)の違いは?
- Destroy()でオブジェクトを削除する方法と注意点は?
- event(イベント)とdelegateの基本的な使い方は?
- extension(拡張メソッド)の定義と使い方は?
- GetComponent()のパフォーマンスへの影響は?
- Instantiate()でオブジェクトを生成する方法は?
- interfaceとabstract classの使い分けは?
- LINQのパフォーマンスへの影響とGCアロケーションについて
- MonoBehaviourのResetメソッドとは何か?
- namespace(名前空間)の使い方と必要性は?
- Nullチェックの書き方(??演算子、?.演算子)は?
- OnEnableとOnDisableはいつ呼ばれるか?
- staticメンバーの使いどころと注意点は?
- string.Formatとstring補間($"")の違いは?
- Tuple(タプル)を使って複数の戻り値を返す方法は?
- UnityのJobSystemとBurstコンパイラとは何か?
- WaitForSecondsとWaitForSecondsRealtimeの違いは?
- ジェネリック制約(where T : MonoBehaviour)の書き方は?
- プロパティ(Property)の書き方とフィールドとの違いは?
- C#のrecordとclassの違いは?
- Dictionaryを使ったキー・バリュー管理の方法は?
- Enum(列挙型)の定義と利用方法は?
- IEnumerableとIEnumeratorの違いは?
- Listと配列(Array)の使い分けは?
- Mathfクラスの主要なメソッドを教えてほしい。
- OnDestroyはいつ呼ばれるか?使い方は?
- structをUnityのECSで使う基本は?
- Unityでシリアライズ可能なDictionary(辞書)の実装方法は?
- Unityで非同期処理をコルーチンを使わずに書く方法は?
- 残りの記事を表示 (35) 記事を折りたたむ
-
GameObject・Transform
- DontDestroyOnLoadの使い方は?
- GameObjectのLayerとTagの使い分けは?
- GameObjectの名前を動的に変更する方法は?
- GameObjectを子オブジェクトとして設定する方法は?
- Inspector上で非表示にしたいフィールドを指定する方法は?
- Instantiateで生成したオブジェクトを名前から識別しやすくするには?
- InverseTransformPointとTransformPointの使い分けは?
- PrefabのネストとPrefab Variantの違いは?
- SceneViewでGameObjectをカメラにフォーカスする方法は?
- Transformコンポーネントとは何か?
- TransformのForwardベクトルとは何か?
- TransformのlossyScaleとlocalScaleの違いは?
- エディタ上でシーンに配置したオブジェクトの数が多くて管理しにくい。対策は?
- オブジェクトの座標系を分かりやすく可視化する方法は?
- オブジェクトを滑らかに移動させる方法は?
- オブジェクトを特定の方向へ向かせる方法は?
- ローカル座標とワールド座標の違いは?
- 特定コンポーネントを持つGameObjectをScene全体から検索する方法は?
- 複数オブジェクトを同時に選択して一括操作する方法は?
- 親オブジェクトを持つGameObjectのスケールがおかしくなる。原因は?
- Componentを動的に追加・削除する方法は?
- GameObjectのNameとTagとLayerの違いと使い分けは?
- GameObjectのアクティブ状態を切り替える方法は?
- GameObjectのコピー(複製)方法は?
- GameObjectの回転をQuaternion.Eulerで設定する方法は?
- GameObjectの有効・無効を切り替える際、子オブジェクトはどうなるか?
- GameObjectをFind()で検索するのはなぜ遅いのか?
- GameObjectをScene実行中に作成する方法は?
- Hierarchyウィンドウでオブジェクトを素早く検索する方法は?
- Prefab(プレハブ)とは何か?どう使うか?
- Prefabを変更したら全インスタンスに反映させる方法は?
- Quaternion(クォータニオン)とは何か?Euler(オイラー)との違いは?
- Transformの位置をピクセルグリッドにスナップさせる方法は?
- Transformの子の順番を変える方法は?
- オブジェクトを一定速度で回転させる方法は?
- ジンバルロックとは何か?どう回避するか?
- 子オブジェクトを全て取得する方法は?
- 特定のタグを持つオブジェクトを一括取得する方法は?
- 空のGameObjectを作ってスクリプトのアタッチ先にする理由は?
- 残りの記事を表示 (24) 記事を折りたたむ
-
物理・布・アニメーション
- Rigidbodyとは何か?使い方は?
- ColliderとRigidbodyの組み合わせ方は?
- OnCollisionEnterとOnTriggerEnterの違いは?
- オブジェクトが物理演算で意図しない方向に飛んでいく。原因は?
- Physics.Raycast()の使い方は?
- LayerMaskを使ったRaycastのフィルタリング方法は?
- Animatorコンポーネントの基本的な使い方は?
- AnimationClipとAnimatorControllerの違いは?
- Animator.CrossFadeで滑らかにアニメーション遷移させる方法は?
- アバターのIK(Inverse Kinematics)をUnityで使うには?
- Cloth(布)コンポーネントの使い方は?
- 物理演算でオブジェクトが床をすり抜ける。対処法は?
- AnimationEventsとは何か?使い方は?
- Root Motionとは何か?使う場合と使わない場合の違いは?
- Blendtreeとは何か?使い方は?
- Rigidbodyの「Constraints」の使い方は?
- CharacterControllerとRigidbodyの使い分けは?
- アニメーションの速度を変える方法は?
- 物理マテリアル(Physics Material)の使い方は?
- ラグドール(Ragdoll)の設定方法は?
- Trigger判定でどのオブジェクトが入ってきたか識別する方法は?
- OverlapSphereなどのエリア判定の使い方は?
- 衝突した相手のオブジェクトの速度を取得する方法は?
- 2Dの物理演算(Rigidbody2D)は3Dと何が違うか?
- Animator.SetTriggerとSetBoolの使い分けは?
- アニメーションレイヤーとはなにか?使い方は?
- 物理コライダーのGizmoが表示されない。原因は?
- Spring Joint・Hinge Joint・Fixed Jointの違いは?
- カプセルコライダーと球コライダーの使い分けは?
- Animatorのアニメーションを最初から再生する方法は?
- 物理マテリアルでオブジェクトが弾まないようにする設定は?
- Rigidbody.MovePositionとtransform.positionの違いは?
- AnimationCurveをスクリプトから利用する方法は?
- Navmesh Agentを使ったAIの経路探索の基本設定は?
- AnimatorのStateMachineで複数のTransitionが競合する場合の解決方法は?
- 物理ジョイントで「破断(break)」する繋がりを実装するには?
- 残りの記事を表示 (21) 記事を折りたたむ
-
ライティング・ポストプロセス
- DirectionalLight・PointLight・SpotLightの違いは?
- Baked Lightingとリアルタイムライティングの違いと使い分けは?
- Lightmapが正しく焼かれない。ピクセルが汚い。対処法は?
- Light Probeとは何か?動的オブジェクトへのライティングに使う方法は?
- Reflection ProbeとはなにかどうすればUseするか?
- URPのPost Processing(Bloom・Color Grading等)の設定方法は?
- Bloomエフェクトがエディタでは表示されるが、ビルドで消える。原因は?
- 環境光(Ambient Light)の色設定方法は?
- HDR(High Dynamic Range)とは何か?Unityでの設定方法は?
- シャドウが豆腐(ちらつきや欠落)になる。改善方法は?
- フォグ(霧)の設定方法は?
- Lens Flare(レンズフレア)をURPで使う方法は?
- Color Grading(色調補正)をVolume Profileで設定する方法は?
- Screen Space Ambient Occlusion(SSAO)の設定方法は?
- HDRP(High Definition Render Pipeline)とURPの使い分けは?
- 影のソフトシャドウとハードシャドウの設定方法は?
- Real-time GI(グローバルイルミネーション)はURP/HDRPで使えるか?
- カメラのExposure(露出)を調整するVolume Overrideは?
- Vignette(ビネット)エフェクトでVRの快適性を向上させる方法は?
- SubtractionBlendingを使ったライティングエフェクトとは?
- 残りの記事を表示 (5) 記事を折りたたむ
-
シェーダー・マテリアル
- Shader GraphとHLSLシェーダーの書き分けは?
- URPとBRPでシェーダーの互換性がないのはなぜか?
- マテリアルのAlbedo(ベースカラー)テクスチャを変更するコードは?
- シェーダーで透明・半透明の表現をする方法は?
- アウトライン(輪郭線)シェーダーを実装する方法は?
- UV アニメーション(テクスチャスクロール)の実装方法は?
- シェーダーでオブジェクトを画面上で点滅させる方法は?
- Dissolve(溶解)エフェクトのシェーダー実装方法は?
- 法線マップ(Normal Map)の設定方法は?
- VertexColorを使ってメッシュにバリエーションを付ける方法は?
- Stencilバッファを使ったUIのマスキングは?
- Depth Writingを無効化するシェーダーの使い方は?
- Global Shader Propertiesを使ってシーン全体のシェーダーに値を渡す方法は?
- スクリプトからMaterialのプロパティを変更する方法は?
- Surface Shaderとは何か?URPでも使えるか?
- タイリングとオフセット(Tiling & Offset)の設定方法は?
- HDRカラーとエミッション(発光)の設定方法は?
- Shader GraphでPBRの基本Lit Shaderを作る手順は?
- URPのRendererFeatureとは何か?どう使うか?
- マテリアルをランタイムで動的に生成する方法は?
- 残りの記事を表示 (5) 記事を折りたたむ
-
UI・uGUI
- CanvasとCanvasScalerの関係は?
- ButtonのonClickにスクリプトのメソッドを登録する方法は?
- UIが異なる解像度のデバイスで崩れる。対処方法は?
- RectTransformのAnchorとPivotの違いは?
- TextMeshPro(TMP)とuGUIのTextの違いは?
- UIのボタンやテキストをコードから動的に変更する方法は?
- ScrollViewの基本的な設定方法は?
- UIのフェードイン・フェードアウトをコードで実装する方法は?
- UIの前後(描画順)を変える方法は?
- SafeAreaとはなにか?スマートフォンのノッチに対応する方法は?
- UIをワールドスペースに配置する方法は?(3D空間内のUI)
- UIがゲームオブジェクトに追従する方法は?(HPバーの頭上表示など)
- DropdownのOptionをコードで動的に追加する方法は?
- InputFieldのテキスト入力変化を検知する方法は?
- UIのアニメーション(移動・拡大等)をDoTween等で実装する方法は?
- ToggleGroupで複数のToggleをラジオボタン化する方法は?
- UIのSliderの値をリアルタイムで反映させる方法は?
- PanelのRect Maskで表示領域をクリッピングする方法は?
- UIボタンをダブルタップ防止のクールダウンで制御する方法は?
- UIにVRコントローラーのレイキャストで操作するには?
- GridLayoutGroupで複数のUI要素を等間隔に並べる方法は?
- ボタンを長押しで別のアクションを発動させる実装は?
- UIのImageにグラデーションをつける方法は?
- UIアニメーションをUnityのAnimatorで制御する方法は?
- UIのTextMeshProで文字を一文字ずつ表示するタイプライター演出は?
- Tooltipのようなカーソル追従UIの実装方法は?
- UnityのUIでドラッグ&ドロップを実装する方法は?
- UIのボタンに音を付ける最もシンプルな方法は?
- TextMeshProで数字をゼロ埋め表示する方法は?
- UIのクリックをゲームオブジェクトに伝えないようにする方法は?
- UIのパネルを画面外にAnimateして出し入れする方法は?
- UnityのUI Toolkitとuguiの違いは?
- 残りの記事を表示 (17) 記事を折りたたむ
-
デバッグ・テスト
- バグの再現手順をうまく残すには?
- Debug.Logを増やしすぎない運用は?
- Assertionを入れるべき場面は?
- Development Buildを使う利点は?
- Profilerで最初に見るべき項目は?
- Deep Profileはいつ使うべきか?
- Frame Debuggerは何に役立つか?
- Memory Profilerで見るべき点は?
- GC発生箇所を減らすには?
- adb logcatを使う理由は?
- 実機でのクラッシュ調査を進めるには?
- XR Device Simulatorはテストでどう使うか?
- Mockデータを用意する利点は?
- Edit Mode TestとPlay Mode Testはどう使い分けるか?
- 自動テストが向いている箇所は?
- 手動テスト項目を整理するには?
- 回帰テストを効率化するには?
- パフォーマンス予算をどう決めるか?
- RenderDocはどんな場面で使うか?
- ネットワーク遅延をテストするには?
- 入力が来ない時の切り分け方は?
- UIが反応しない時の確認点は?
- 物理挙動が不安定な時の見方は?
- ナビゲーションが壊れた時は何を見るか?
- Gizmosでデバッグ可視化するコツは?
- 条件コンパイルはデバッグにどう効くか?
- QA向けに必要な情報を画面表示するには?
- スクリーンショット付きバグ報告を取りやすくするには?
- Addressablesの不具合を調べるには?
- Localizationの確認を楽にするには?
- アニメーション不具合を切り分けるには?
- Timeline演出の不具合はどう追うか?
- シーン遷移で壊れる問題を追うには?
- 長時間動かすソークテストは必要か?
- イベントの二重登録を見抜くには?
- セーブデータ破損を防ぐテストは?
- パーミッション周りのテスト観点は?
- 実機パフォーマンス計測のルールを作るには?
- 入力ログを可視化する価値は?
- Shaderやマテリアルの差し替え事故を防ぐには?
- ビルド前の最終スモークテスト項目は?
- バグ修正後に確認すべきことは?
- デバッグ機能を本番で露出しないためには?
- QAと開発で用語を揃えるには?
- FAQ向けに『再現→原因→対処→確認方法』の形へ整えるべきか?
- 残りの記事を表示 (30) 記事を折りたたむ
-
ビルド・デプロイ
- Androidビルドに必要な環境構築手順は?
- iOSビルドにはMacが必要か?
- ビルドエラー「Gradle Build Failed」の対処法は?
- ビルドが「Build target is not supported on this machine」で失敗する。
- アプリのバンドルIDの設定方法は?
- Addressablesを使ったアセットの動的ローディングとは?
- ビルドサイズを削減する方法は?
- UnityのCI/CD(自動ビルド)のための設定方法は?
- Player SettingsのScripting BackendのMono vs IL2CPPの違いは?
- Splash Screen(スプラッシュ画面)のカスタマイズ方法は?
- AndroidのPermission(権限)を動的に要求する方法は?
- ビルド後のapkをAndroid実機にインストールする方法は?
- WebGLビルドのパフォーマンス改善方法は?
- iOSビルドでXcodeエラーが出る場合の対処法は?
- Development Buildと Release Buildの違いは?
- マルチプラットフォームビルドを効率化する方法は?
- Scripting Define Symbolsを使ったプラットフォーム別処理の切り替えは?
- WebGLビルドで「Out of memory」が起きる対処法は?
- ビルド後のアプリでのみ発生するバグのデバッグ方法は?
- ビルドのシーン構成(シーンリスト)の管理方法は?
- Androidの64bit対応(ARM64)の設定方法は?
- iOSビルドのビットコード(Bitcode)設定は?
- Unity Cloud Buildとは何か?
- Xcodeでのアーカイブとアドホック配布の方法は?
- ビルドを自動化するコマンドラインビルドスクリプトの基本は?
- 残りの記事を表示 (10) 記事を折りたたむ
-
VR開発(Meta Quest)
- Meta Quest向けのUnityプロジェクトの初期設定手順は?
- Camera RigとXROriginの違いは何か?
- Meta QuestでHandTracking(ハンドトラッキング)を使う設定方法は?
- Questアプリでパフォーマンスが低下する。改善方法は?
- Quest向けのビルドが「Minimum API level」エラーで失敗する。
- Questコントローラーのボタン入力を取得する方法は?
- Questでコントローラーを振動(ハプティクス)させる方法は?
- Questの開発中、いちいちビルドせずにPCからテストプレイする方法は?
- Questでシーンが真っ黒になって何も表示されない。原因は?
- Quest向けにPassthrough(現実のカメラ映像)を表示する方法は?
- Quest 3のMixed Reality(MR)開発の基本は?
- Questのバッテリー消耗が激しい。最適化方法は?
- Questで音声(Audio)が出ない。原因と対処法は?
- Questアプリに署名(Signing)は必要か?
- QuestでUI表示のためのWorld Space Canvasの設定は?
- Questでフレームレートを90Hzや120Hzに設定する方法は?
- VRでユーザーが酔わないUI設計のポイントは?
- Quest向けのアプリをMetaのストアに申請する手順の概要は?
- Questでコントローラーが認識されない、位置がずれる場合の確認事項は?
- QuestのMixed Reality機能で現実のメッシュ(壁や床の形)を取得する方法は?
- VRでの重さや触感のフィードバックはどう実装するか?
- VRで3Dオブジェクトをコントローラーで直接つかんで投げる実装は?
- Questでのテキスト入力(キーボード入力)の実装方法は?
- Quest 3の深度センサーを使ったDepth API(環境深度)とは何か?
- Meta XRのサンプルシーンの活用方法は?
- QuestでFace Tracking(顔の表情トラッキング)を使う方法は?
- Questでのリップシンク(声に合わせて口を動かす)実装方法は?
- VRでの「プレゼンス(実在感)」を高めるデザインのポイントは?
- Questアプリをデバッグ中にPCでログをリアルタイム確認する方法は?
- Quest向けビルドのAPKをサイドロード(直接インストール)する方法は?
- Meta Quest 3で現実の風景をゲームの背景にする(MR化する)最小手順は?
- Quest 3でのDepth API(深度オクルージョン)を有効にする設定は?
- Meta Quest ProのEye Tracking(視線追跡)を使う方法は?
- Questでハンドメッシュ(手の3Dモデル)を表示する方法は?
- Questのガーディアン(安全境界線)をスクリプトから取得する方法は?
- Quest 3のLocalとRemoteレンダリング(App Streaming)の違いは?
- ハンドとコントローラーを同時に使う(マルチモーダル)設定は?
- Quest 3で「脚」を含む全身の動きを同期させる方法は?
- パススルー映像の「生データ」を取得して画像解析はできる?
- 部屋の「壁」に穴を開けて別世界を見せる(ポータル)実装は?
- 「Wide Motion Mode」とは何か?どう設定する?
- Meta Quest 3SとQuest 3で開発上の注意点は?
- ユーザーの周囲にある「家具の種類」を特定して利用するには?
- Quest LinkなしでPC画面をVR内にストリーミングするには?
- 最新のUnity 6でMeta Quest向けビルドをする際の注意点は?
- 残りの記事を表示 (30) 記事を折りたたむ
-
AR開発(ARFoundation)
- ARFoundationでARセッションが中断・再開されたときの処理は?
- ARFoundationでARセッションを開始する方法は?
- ARFoundationで平面検出(Floor/Wall)を行う方法は?
- ARFoundationで画像認識(Image Tracking)を実装する方法は?
- ARFoundationで顔のトラッキング(Face Tracking)を使う方法は?
- ARFoundationとARCoreのバージョン互換性の確認方法は?
- ARFoundationとは何か?
- ARFoundationのデバッグでシミュレーターを使う方法は?
- ARKitのOcclusion(現実オブジェクトによるARオブジェクトの遮蔽)の実装方法は?
- ARアプリをAndroid向けにビルドする場合の設定は?
- ARアプリをiOS向けにビルドするために必要な設定は?
- ARで光推定(ライトエスティメーション)を使う方法は?
- ARで検出した平面にオブジェクトを配置する方法は?
- ARで検出した平面の情報(大きさ・向き)を取得する方法は?
- ARで物体に注釈(Annotation)を表示する方法は?
- ARで現実世界の点群(Point Cloud)を取得する方法は?
- ARで環境オクルージョン(現実のオブジェクトがARモデルを隠す)を実装するには?
- ARのQRコード認識を実装する方法は?
- ARの平面検出の精度が低い。改善方法は?
- 複数のARデバイス間でアンカーを共有するCloud Anchorsとは?
- ARFoundationでWorldトラッキング(空間の位置を保持)を維持する方法は?
- 残りの記事を表示 (6) 記事を折りたたむ
-
XR Interaction Toolkit
- XR Interaction Toolkitとは何か?
- XR Grab Interactableでオブジェクトをつかめるようにする設定は?
- XR Ray Interactorで遠くのオブジェクトをポイントする実装は?
- Locomotion(移動)システムの設定方法は?
- VRのテレポート移動を実装する方法は?
- XR Interaction Toolkitでソケット(物を置く場所)を実装するには?
- コントローラーのアニメーション(握り・ポインティング)とインタラクションの連動は?
- HMDの向きとコントローラーの入力をどう取得するか?
- インタラクション時のハプティクス(振動)フィードバックの実装は?
- VRで近接触覚(ダイレクトインタラクション)と遠隔操作(レイインタラクション)を切り替える方法は?
- XR Interaction ToolkitのInteraction Layerとは何か?
- XR Grab Interactableでつかみ中の姿勢(オフセット)を設定する方法は?
- VRでスケールを変更できる(ピンチズーム)インタラクションの実装は?
- XR Interaction ToolkitのHover・Select・Activateの違いは?
- XR Interaction Toolkitで環境の「段差」や「坂」に対応する移動の実装は?
- XR Controller ActionAssetを複数シーンで共有する方法は?
- VRで現実空間のサイズに合わせてプレイエリアを設定する方法は?
- XRでのUI操作(レイキャスト)の精度を向上させる方法は?
- VRで視野外の敵の位置を示すUIコンパスを実装する方法は?
- XR Interaction Toolkitでのクライミング(壁登り)インタラクションの実装は?
- 残りの記事を表示 (5) 記事を折りたたむ
-
XR UX・快適性
- XRで酔いにくい移動方式を選ぶには?
- スナップターンの角度は何度くらいが良いか?
- ビネット(視野狭窄)は入れるべきか?
- 強制カメラ移動を避けるべき理由は?
- UIはユーザーからどれくらい離すと見やすいか?
- XRで文字サイズを決める時の考え方は?
- ボタンサイズはどの程度必要か?
- ワールド空間UIが読みにくい時の改善策は?
- UIを頭の向きに追従させる時の注意点は?
- チュートリアルをXRで分かりやすくするには?
- 初回起動時にまず案内すべきことは?
- 再センターをユーザーにどう案内するか?
- 立位・座位モードを分けるべきか?
- 身長差への対応はどうするか?
- 利き手切替を用意する意味は?
- 片手操作モードは必要か?
- コントローラーとハンドトラッキングの切替時に気を付けることは?
- 物を掴む距離感を自然にするには?
- 腕が疲れにくいUI配置とは?
- 長時間利用向けに休憩導線を入れるべきか?
- ハプティクスの使い方で注意することは?
- 空間音響はUXにどう効くか?
- 危険な現実動作を避けるUI設計とは?
- パススルー中のUI配色で気を付けることは?
- MRで現実空間に置くオブジェクトの大きさはどう決めるか?
- 字幕や補助テキストの位置はどこが良いか?
- 色覚多様性への配慮は何をすべきか?
- 聴覚補助として何を用意すると良いか?
- XRで確認ダイアログが多すぎると何が起きるか?
- 快適性設定はどこまで用意するべきか?
- 視線誘導をうまく行うには?
- 現実家具と干渉しにくい体験にするには?
- チュートリアルをスキップ可能にするべきか?
- 子どもや初心者向けXR体験で重視すべきことは?
- FAQをXR UXガイドとして進化させるには?
- 残りの記事を表示 (20) 記事を折りたたむ
-
入力システム(Input System)
- 旧InputManagerと新Input Systemの違いは?
- 新Input SystemでキーボードとGamePadの入力を共通化する方法は?
- Input System PackageのPlayerInputコンポーネントの使い方は?
- タッチ入力をInput Systemで検出する方法は?
- ゲームプレイ中にキーバインドをランタイムで変更する方法は?
- Input ActionのPhase(Started/Performed/Canceled)の違いは?
- ジョイスティックのデッドゾーン設定はどこでするか?
- マウスのドラッグ操作を実装する方法は?
- マウスのスクロールホイール入力をInput Systemで取得する方法は?
- キーボードの任意キーが押されたかを一括で検知する方法は?
- Input System のActionをコードでenableにする方法は?
- VRコントローラーの握り(Grip)と引き金(Trigger)を同時押しする条件の処理は?
- ゲームパッドのボタン名とUnityでの対応マッピングは?
- タッチスクリーンでのピンチ操作(ズーム)の実装方法は?
- Input Systemでアクションが「started」と「performed」の間に時間差がある理由は?
- Input ActionのComposite Bindingとは何か?
- Input SystemのPlayerInputManagerを使ったマルチプレイヤー入力の管理は?
- 残りの記事を表示 (2) 記事を折りたたむ
-
アセット・リソース管理
- Resourcesフォルダとは何か?使い方と注意点は?
- Addressable Asset Systemの基本的な使い方は?
- テクスチャのインポート設定で気をつけることは?
- FBXモデルのインポート設定で重要なポイントは?
- アセットの参照をSerializeFieldで持つのとResourcesで取る違いは?
- シーンをAdditive(加算的)にロードする方法は?
- AssetBundleとAddressablesはどう使い分けるか?
- Texture AtlasとSprite Atlasの使い方は?
- Model ImporterのBlend Shape(シェイプキー)の設定は?
- Unityでサウンドのインポートに適したフォーマットは?
- アセットのメタファイル(.meta)とは何か?消してよいか?
- Sprite(スプライト)のSlice(スプライトの分割)方法は?
- PolyBrush等でペイントしたシーンオブジェクトのパフォーマンス管理は?
- ScriptableObjectをアセットとして保存する方法は?
- Resourcesフォルダ以外でアセットを動的ロードするには?
- ゲームオブジェクトをStreamingAssetsからロードする方法は?
- アセットの依存関係を確認する方法は?
- シーンのロード状態を管理するSceneManagerの主要APIは?
- アセットを別のフォルダに移動してもシーンの参照が壊れない理由は?
- TextureのImporter Settingのチェックに使えるエディタスクリプトの書き方は?
- Sprite RendererとImage(uGUI)の使い分けは?
- アセットのGUIDとは何か?なぜ重要か?
- Unityのパッケージキャッシュをクリアする方法は?
- 残りの記事を表示 (8) 記事を折りたたむ
-
ネットワーク・マルチプレイ
- UnityのマルチプレイにはどんなSDKが使えるか?
- Photon Fusion 2の基本的なプロジェクト設定と接続方法は?
- Netcode for GameObjects (NGO) でServerとClientの処理を分岐する方法は?
- マルチプレイゲームでのラグ(遅延)対策は?
- ロビー機能(マッチング待合室)を実装する方法は?
- HTTPリクエストをUnityから送る方法は?
- WebSocketをUnityで使う方法は?
- Photon Fusion 2の基本的なワークフローと同期の仕組みは?
- NGOでシーンを同期して全クライアントに遷移させる方法は?
- ネットワーク越しのRPC(Remote Procedure Call)のセキュリティ注意点は?
- BaaS(Backend as a Service)をUnityで使う基本は?
- Unityのリレーサービス(Unity Relay)とは何か?
- マルチプレイでオブジェクトのOwnership(所有権)とは何か?
- マルチプレイゲームのマッチメイキングを自分で実装する方法は?
- ゲームサーバーをクラウドで動かすには?
- Unityでリアルタイムチャットやボイスチャット機能を実装する方法は?
- ネットワーク遅延(レイテンシ)のシミュレーション方法は?
- 残りの記事を表示 (2) 記事を折りたたむ
-
エディタ拡張
- よく使うUnityショートカットを整理するには?
- Hierarchyで目的のオブジェクトを素早く探すには?
- Projectビューでアセットを探しやすくするには?
- Search(旧Quick Search)を活用するには?
- Inspectorを見比べながら作業するには?
- 複数オブジェクトをまとめて編集するには?
- Prefab Modeを効率良く使うには?
- Play Mode中の変更を活かすには?
- Sceneビューでオブジェクトに素早く寄るには?
- グリッドスナップを活用するには?
- Align With Viewを使う場面は?
- 検索しやすい命名規則を作るには?
- フォルダ構成は機能別と種別別のどちらが良いか?
- Script Templatesを使って定型コードを減らすには?
- Assembly Definitionを導入するメリットは?
- Package Managerを整理して運用するには?
- 不要なPackageを減らすべき理由は?
- Preset機能を活用するには?
- デフォルト値を揃えたPrefabを作るべき場面は?
- コンポーネントの設定ミスを減らすには?
- カスタムメニューを作って定型作業を短縮するには?
- ContextMenuはどんな時に便利か?
- OnValidateを使う時の注意点は?
- SerializedFieldを活用する理由は?
- HeaderやTooltip属性を付けるべきか?
- Range属性はどんな時に使うと良いか?
- HideInInspectorを使う判断基準は?
- Sceneテンプレートを使うべきか?
- マルチシーン編集を活用するには?
- Gizmosを使って編集効率を上げるには?
- Handlesを使ったEditor拡張は何に効くか?
- Prefab Variantsを使うメリットは?
- プロジェクトの起動時間を短くするには?
- Auto Refreshの扱いはどう考えるか?
- シーンの再生開始地点を固定して検証しやすくするには?
- Editor専用コードを安全に書くには?
- ログを見やすくする運用は?
- よく使う検索フィルタをチーム共有するには?
- 無料で役立つ公式パッケージは何があるか?
- XR Device Simulatorを使う価値は?
- Input Action Assetの運用を楽にするには?
- UI作業を早くするコツは?
- レイアウト崩れを減らすには?
- Play Mode Optionsでドメインリロードを調整する時の注意点は?
- Editor拡張をチームで管理するには?
- Inspectorの設定漏れを検出する仕組みは?
- Prefabの差分確認をしやすくするには?
- 作業用シーンと本番シーンを分けるべきか?
- 1クリックで定型セットアップするには?
- エディタ効率化の優先順位はどう付けるか?
- 残りの記事を表示 (35) 記事を折りたたむ
-
パフォーマンス最適化
- Unityのプロファイラーの使い方は?
- DrawCall(ドローコール)削減のための主要な方法は?
- オブジェクトプール(Object Pool)の実装方法は?
- GC(ガベージコレクション)アロケーションを減らす方法は?
- LOD(Level of Detail)の設定方法は?
- Occlusion Cullingとは何か?設定方法は?
- テクスチャのMipmapとは何か?なぜ設定すべきか?
- Batching Statsの数値の見方を教えてほしい。
- シェーダーのVariantが多くてビルドが遅く、ランタイムもスパイクが起きる。対処法は?
- フレームレートをターゲットに固定する方法は?
- Physics演算が重い。最適化方法は?
- Audio(サウンド)のパフォーマンス最適化方法は?
- Coroutine vs Taskどちらがパフォーマンス上良いか?
- Updateを減らすためのEventDrivenなアーキテクチャとは?
- マテリアルのSharedMaterialとMaterialの違いは?
- VRアプリのフレームレートを安定させる最重要ポイントは?
- AsyncLoadのあいだにLoadingUIを表示する方法は?
- TextureをStreaming Mipmapsで最適化する方法は?
- Mesh CombineでDrawCallを削減する方法は?
- Profilerで「WaitForTargetFPS」が大きい。これは問題か?
- MonoBehaviourのOnGUI()がパフォーマンスに悪い理由は?
- アニメーションのパフォーマンスを改善する方法は?
- Instantiate/Destroyの頻繁な使用がなぜパフォーマンスに悪いか?
- Addressablesのメモリリーク(アセット解放忘れ)への対処法は?
- Shader/テクスチャのGPUメモリ使用量を確認する方法は?
- Entity Component System(ECS)はどんな場合に使うか?
- Render Graph APIを使った描画最適化とは?(URP)
- AudioMixerのスナップショットを使ってパフォーマンスを管理する方法は?
- Unityのプロジェクト全体のビルドサイズを確認する方法は?
- 残りの記事を表示 (14) 記事を折りたたむ
-
コンソールエラー逆引き
- 「NullReferenceException」が出た場合は?
- 「MissingReferenceException」が出た場合は?
- 「UnassignedReferenceException」が出た場合は?
- 「IndexOutOfRangeException」が出た場合は?
- 「ArgumentOutOfRangeException」が出た場合は?
- 「KeyNotFoundException」が出た場合は?
- 「InvalidOperationException」が出た場合は?
- 「StackOverflowException」が出た場合は?
- 「OutOfMemoryException」が出た場合は?
- 「InvalidCastException」が出た場合は?
- 「CS0103: The name 'xxx' does not exist in the current context」が出た場合は?
- 「CS0246: The type or namespace name 'xxx' could not be found」が出た場合は?
- 「CS1061: 'xxx' does not contain a definition for 'yyy'」が出た場合は?
- 「CS1501: No overload for method takes N arguments」が出た場合は?
- 「CS0029: Cannot implicitly convert type」が出た場合は?
- 「CS0161: not all code paths return a value」が出た場合は?
- 「CS0120: An object reference is required for the non-static field」が出た場合は?
- 「CS0117: 'xxx' does not contain a definition for 'yyy'」が出た場合は?
- 「CS0266: Cannot implicitly convert type 'A' to 'B'」が出た場合は?
- 「CS1002: ; expected」が出た場合は?
- 「CS1513: } expected」が出た場合は?
- 「The referenced script on this Behaviour is missing!」が出た場合は?
- 「Coroutine couldn't be started because the game object is inactive!」が出た場合は?
- 「There are 2 audio listeners in the scene.」が出た場合は?
- 「Display 1 No cameras rendering」が出た場合は?
- 「Animator is not playing an AnimatorController」が出た場合は?
- 「Look rotation viewing vector is zero」が出た場合は?
- 「Screen position out of view frustum」が出た場合は?
- 「SkinnedMeshRenderer has no bones assigned」が出た場合は?
- 「AudioSource.PlayOneShot was called with a null AudioClip」が出た場合は?
- 「AnimationEvent has no function name specified!」が出た場合は?
- 「Can't add script component because the script class cannot be found.」が出た場合は?
- 「SerializedObject target has been destroyed」が出た場合は?
- 「Destroying assets is not permitted to avoid data loss.」が出た場合は?
- 「You are trying to read Input using the UnityEngine.Input class...」が出た場合は?
- 「Attempting to read value from disposed NativeArray」が出た場合は?
- 「A Native Collection has not been disposed, resulting in a memory leak.」が出た場合は?
- 「NavMeshAgent is not placed on a NavMesh」が出た場合は?
- 「DllNotFoundException」が出た場合は?
- 「FileNotFoundException」が出た場合は?
- 「DirectoryNotFoundException」が出た場合は?
- 「IOException: Sharing violation on path」が出た場合は?
- 「UnauthorizedAccessException」が出た場合は?
- 「Gradle build failed」が出た場合は?
- 「Unable to merge Android manifests」が出た場合は?
- 「CommandInvokationFailure: Gradle build failed」が出た場合は?
- 「AAPT2 error」が出た場合は?
- 「INSTALL_FAILED_VERSION_DOWNGRADE」が出た場合は?
- 「INSTALL_FAILED_NO_MATCHING_ABIS」が出た場合は?
- 「OpenXR Loader initialized but no runtime is detected」が出た場合は?
- 「No active XR loader found / XR Plug-in Management is not initialized」が出た場合は?
- 「Failed to initialize graphics」が出た場合は?
- 「Shader error in 'xxx': undeclared identifier」が出た場合は?
- 「Material doesn't have a texture property '_MainTex'」が出た場合は?
- 「Setting the parent of a transform which resides in a Prefab Asset is disabled to prevent data corruption」が出た場合は?
- 「Scene couldn't be loaded because it has not been added to the build settings」が出た場合は?
- 「Tag: xxx is not defined.」が出た場合は?
- 「LayerMask is invalid」が出た場合は?
- 「Object reference not set to an instance of an object in XR周辺スクリプト」が出た場合は?
- 「The type or namespace name 'InputAction' could not be found」が出た場合は?
- 残りの記事を表示 (45) 記事を折りたたむ
-
逆引き機能実装
- 音を鳴らすには?
- BGMをループ再生するには?
- 動画を再生するには?
- シーンを切り替えるには?
- 一定時間後に処理を実行するには?
- ボタンをクリックした時に処理を実行するには?
- オブジェクトを生成するには?
- 一定間隔でオブジェクトをスポーンするには?
- 弾を発射するには?
- オブジェクトプールを作るには?
- HPバーを表示するには?
- ローディング画面を表示するには?
- セーブ/ロードを実装するには?
- JSONで設定ファイルを保存するには?
- スクリーンショットを保存するには?
- 画面をフェードイン/フェードアウトするには?
- カメラを揺らすには?
- カメラをターゲットに追従させるには?
- 敵をプレイヤーへ追従させるには?
- Raycastで当たり判定を取りたい時は?
- クリックしたオブジェクトを取得するには?
- ドラッグ&ドロップを実装するには?
- 長押し判定を作るには?
- ダブルクリック/ダブルタップを判定するには?
- 右クリックメニューを表示するには?
- ツールチップを表示するには?
- タイマーやカウントダウンを表示するには?
- ゲームを一時停止するには?
- リスポーン処理を入れるには?
- チェックポイントを実装するには?
- 多言語対応を始めるには?
- 字幕を表示するには?
- ボリューム設定を作るには?
- キーコンフィグを実装するには?
- コントローラーの振動を鳴らすには?
- XRで物をつかめるようにするには?
- XRで遠距離からオブジェクトを選択するには?
- XRでテレポート移動を実装するには?
- XRでスナップターンを入れるには?
- 手のモデルを表示するには?
- ハンドトラッキングを使うには?
- 視線入力を実装するには?
- パススルー背景を表示するには?
- ARで平面検出した場所にオブジェクトを置くには?
- ARで画像マーカーを認識するには?
- 空間アンカーを保存するには?
- ワールド原点を再調整するには?
- ミニマップを作るには?
- 進行度を保存するには?
- ScriptableObjectで設定を共有するには?
- Addressablesで非同期ロードするには?
- 読み込み中に進捗バーを出すには?
- 非同期でシーンを読み込むには?
- UIをワールド空間に置くには?
- 3Dオブジェクトの上にラベルを出すには?
- クリックしたら色を変えるには?
- アニメーションをコードから再生するには?
- Timelineで演出を作るには?
- パーティクルを必要な時だけ再生するには?
- 音源を距離で減衰させるには?
- マイク入力を取得するには?
- 音声を録音して保存するには?
- HTTP APIを呼び出すには?
- Web APIからJSONを取得するには?
- CSVを読み込んでデータ化するには?
- ランキングを表示するには?
- ホスト/クライアントを開始するには?
- マルチプレイで位置同期を行うには?
- ボイスチャットを入れるには?
- アプリ内から外部URLを開くには?
- 端末の向きや姿勢を取得するには?
- ジャイロや加速度センサーを使うには?
- 権限ダイアログを出すには?
- デバッグ用コンソールをアプリ内に出すには?
- クラッシュ直前のログを保存したい時は?
- Webカメラ映像をテクスチャ表示するには?
- カウントアップ計測をしたい時は?
- 条件を満たした時だけUIを表示するには?
- チュートリアルの手順を順番に進めるには?
- プレイヤーの向いている方向へUIを出すには?
- 残りの記事を表示 (65) 記事を折りたたむ
-
設計・アーキテクチャ
- Managerクラスが肥大化した時はどう整理するか?
- MonoBehaviourにロジックを書き込みすぎないコツは?
- ScriptableObjectを設定用に使う利点は?
- ScriptableObjectを状態共有に使う時の注意点は?
- イベント駆動設計にすると何が良いか?
- イベント駆動設計の落とし穴は?
- UnityでState Machine(状態遷移)を使うべき場面は?
- Commandパターンは何に向くか?
- Strategyパターンを使うメリットは?
- Interface(インターフェース)を導入する判断基準は?
- Service Locatorを使うなら何に注意するか?
- 依存性注入(DI)をUnityで行う目的は?
- シングルトンを乱用しない方が良い理由は?
- アプリ起動用のBootstrapシーンを作るべきか?
- Additive Scene構成の利点は?
- 機能別フォルダ構成が設計に効く理由は?
- 名前空間(namespace)を付けるべき理由は?
- Assembly Definitionを設計面でどう使うか?
- データ駆動設計(データドリブン)にすると何が変わるか?
- 定数やID管理をどう整理するか?
- 保存データのversion管理はなぜ必要か?
- Repositoryパターンはどこに使えるか?
- UIロジックを見通し良くするには?
- MVPやMVVMはUnityで有効か?
- 入力層を抽象化する理由は?
- XR特有の入力差分はどこで吸収すべきか?
- ネットワーク同期を設計する時の基本は?
- Authority(権威)の設計を曖昧にしない理由は?
- 非同期処理が増えた時の設計ポイントは?
- エラー処理方針を決めるべきか?
- Object Poolを設計として扱うべき理由は?
- 設定値をコード直書きしない方法は?
- Feature Toggle(機能フラグ)を入れる価値は?
- ログ設計を最初に考えるべきか?
- アナリティクスイベント名を揃える理由は?
- 責務分離の観点で『Updateに何でも書かない』とは?
- ゲーム状態を一元管理するには?
- 座標系の扱いを統一するべきか?
- アセット参照を直接持ちすぎない方が良い理由は?
- Prefabとロジックの結合を弱めるには?
- ユースケース単位でクラスを分けるとは?
- レビューしやすいコード構造にするには?
- 開発初期に決めておくべき設計ルールは?
- FAQを設計知見として育てるには?
- 初学者向けと上級者向けで設計ガイドを分けるべきか?
- 残りの記事を表示 (30) 記事を折りたたむ
-
Git・協業・運用
- CI/CDを導入する最初の一歩は?
- FAQを協業資産として運用するには?
- Git LFSはどんな時に使うべきか?
- Gitの`.gitignore`で外すべき代表項目は?
- SceneやPrefabの競合を減らすには?
- Unity/XR案件で週次で棚卸ししたい運用項目は?
- UnityYAMLMerge(Smart Merge)は使うべきか?
- Unityプロジェクトで`.meta`ファイルを必ず管理する理由は?
- Version Controlを始める前にUnity側で設定すべきことは?
- YAMLマージで事故を減らすには?
- ドキュメントが古くならないようにするには?
- ビルド成果物の命名規則を決めるべきか?
- ビルド番号を自動で付ける意味は?
- ブランチ戦略をどう決めるか?
- ホットフィックス(緊急修正)運用で気を付けることは?
- リモート作業で認識齟齬を減らすには?
- リリースチェックリストは何を含めるか?
- ロールバック(巻き戻し)しやすい運用とは?
- 外部アセットのライセンス管理はどうするか?
- 新メンバー向けオンボーディング資料に何を書くか?
- AnalyticsやCrash Reportの導入判断は?
- Definition of Done(完了の定義)を決めるべきか?
- Packageのバージョン更新はどう運用するか?
- Pull Requestのテンプレートを作るべきか?
- READMEに最低限書くべき内容は?
- Unity本体のバージョン更新はどう進めるか?
- アセットレビューで見る観点は?
- オープンソース利用時の注意点は?
- コードレビューで見る観点を揃えるには?
- コミットメッセージを揃える意味は?
- チケット運用で最低限必要な項目は?
- 仕様変更をチームへ伝えるには?
- 変更履歴(CHANGELOG)を残す価値は?
- 機密情報をリポジトリへ入れないためには?
- 環境依存設定をどう管理するか?
- 残りの記事を表示 (20) 記事を折りたたむ
-
Tips全般
- 【エディタ効率化】GameViewで解像度別のUIの見た目を一括確認する方法は?
- 【エディタ効率化】Projectウィンドウで目的のアセットを素早く見つけるには?
- 【エディタ効率化】Unityの主要ショートカットキー一覧を教えてほしい。
- BGMをループ再生するには?
- Hierarchyが複雑になってきたときの整理方法は?
- HPバーをゲージで表示するには?
- Play Modeで変更した内容がPlay Modeを終了すると消える問題の対処法は?
- Singletonパターンをどう実装するか?
- Timeクラスの主要プロパティを教えてほしい。
- Unityで入力のシミュレーションをする(自動テスト向け)方法は?
- Unityで外部API(天気API等)を使うには?
- Unityで独自のエディタウィンドウを作成する方法は?
- Unityで音楽(BGM)とSE(効果音)を管理するAudioManagerの設計は?
- Unityのプロジェクト設定で最初に確認すべき項目は?
- VRやARでよくあるUI設計パターンは?
- ゲームオーバー時に「Game Over」画面を出すには?
- ボタンをクリックしたときに処理を実行するには?
- マウスカーソルがオブジェクトに乗った時に色を変えるには?
- 動画を再生するには?
- 海外向けアプリのローカライズ対応をUnityで行う方法は?
- 「Frame Debugger」でレンダリング処理を1ステップずつ確認する方法は?
- 【エディタ効率化】Hierarchy内のGameObjectをすばやく検索して選択するには?
- 【エディタ効率化】Unityのレイアウトを保存して使い回すには?
- 【エディタ効率化】エディタが重くなった時にできる軽量化の対処法は?
- Cinemachineを使ったカメラ演出の基本は?
- Unityでステートマシンを自前実装する方法は?
- Unityでセーブデータを実装するベストプラクティスは?
- Unityにおけるデザインパターン(MVC等)の適用方法は?
- UnityのGraphics Raycasterの仕組みは?
- Unityのエラーハンドリング(try-catch)の注意点は?
- Unityのコードカバレッジ(Code Coverage)の計測方法は?
- Unityのデバッグで変数の値を視覚的に確認する方法は?
- Unityプロジェクトのフォルダをクリーンな状態に保つためのヒントは?
- オブジェクトをゆっくり消えさせるには?
- オブジェクトを特定の方向に動かすには?
- オブジェクトを画面内に収めるには?
- カメラを滑らかにターゲットに追従させる方法は?
- テキストの内容をスクリプトから変えるには?
- デバッグ用のGizmoの活用方法を教えてほしい。
- 特定のキーを押した時だけオブジェクトを表示するには?
- 【エディタ効率化】Project Settingsの初期設定を自動化(プリセット化)するには?
- 【エディタ効率化】コンポーネントをInspectorで素早くコピー&ペーストするには?
- 【エディタ効率化】複数のGameObjectに同じコンポーネントの値を一括設定するには?
- GetComponent()をnullチェックせずに使うとどうなるか?
- ProfilerとFrame Debuggerをどう組み合わせてデバッグするか?
- Scene遷移のフェードイン・フェードアウトを実装する方法は?
- Unityでマウスカーソルを非表示にする・ロックする方法は?
- Unityで使えるコードコメントの種類と書き方は?
- Unityで処理をn秒後に遅延実行する最もシンプルな方法は?
- Unityのシーンの保存を忘れてしまうことへの対策は?
- Unityのタイムスケールを変えてスローモーションを実装する方法は?
- Unityのプリセット機能(Preset)とは何か?
- Unityのプリプロセッサ指令(#if UNITY_EDITOR等)の使い方は?
- オブジェクトに光を当ててハイライトするには?
- カメラをシェイク(揺らす)させるには?
- サウンドの音量をフェードイン・フェードアウトさせるには?
- スコアをカウントアップしてUIに表示するには?
- ランダムな値を生成するUnityの方法は?
- 画面をタップ/クリックした場所にオブジェクトを移動させるには?
- 複数のシーンに共通するデータをどう管理すべきか?
- 【エディタ効率化】Play Modeを素早くスタート/ストップするショートカットは?
- 【エディタ効率化】SceneのGizmoをカスタマイズして見やすくするには?
- 【エディタ効率化】ゲームビューの解像度を素早く変更するには?
- Attribute(属性)の活用方法を教えてほしい。
- DOTweenの基本的な使い方は?
- Unityでアプリケーションの終了処理を書く場所は?
- Unityでゲームのポーズ(一時停止)機能を実装する方法は?
- Unityでフルスクリーンとウィンドウモードを切り替える方法は?
- Unityの「Execution Order」でスクリプトの実行順を制御する方法は?
- Unityのエディタ拡張(Editor Script)とは何か?
- Unityのコンポーネント設計でSRPrincipleを意識するとは?
- Unityのテストフレームワーク(Unity Test Framework)の使い方は?
- オブジェクトをドラッグして移動させるには?
- オブジェクトを一定時間後にリスポーンさせるには?
- カウントダウンタイマーを実装するには?
- ゲームクリア時に全てのオブジェクトを停止させるには?
- スプライトアニメーション(コマ送り)をスクリプトで制御するには?
- 乱数シード(Seed)を固定して再現性のある乱数を得る方法は?
- 機能フラグ(Feature Flag)を使った段階的リリースの実装方法は?
- 画面をフラッシュ(白く光らせる)させるには?
- 【エディタ効率化】Unityのコンパイル時間を短縮する方法は?
- 【エディタ効率化】Unityの推奨IDEと設定方法は?
- 【エディタ効率化】エディタのカラーテーマ(ダーク/ライト)を変更するには?
- Observerパターン(Pub/Sub)をUnityで実装する方法は?
- Prefabを動的に生成するには?
- Unityで日本語テキストを正しく表示するための設定は?
- Unityで画面の解像度とアスペクト比を取得する方法は?
- Unityのショートカットキーで作業効率を上げる主要キーは?
- Unityのプロジェクトをバージョン管理(Git)する際の注意点は?
- カメラ外のオブジェクトの処理を止めるには?
- ゲームのバージョン番号をUnityで管理する方法は?
- ゲーム開発で最初に学ぶべき概念の優先順位は?
- シーンをロード(切り替え)するには?
- シーン切り替え時にBGMを途切れなく継続する方法は?
- パーティクルシステム(Particle System)の基本設定は?
- フォルダ構成(ディレクトリ設計)のベストプラクティスは?
- モバイルで画面を長押しした時に処理を実行するには?
- 大量のGameObjectを管理するときに役立つパターンは?
- 生成したオブジェクトを一定時間後に自動削除するには?
- 複数のGameObjectの中から最も近いものを取得するには?
- 【エディタ効率化】Inspectorの数値をマウスのドラッグで変更するには?
- 【エディタ効率化】Unityでのデバッグ効率を上げる拡張ツールは?
- UIボタンを一定時間クールダウンで連打できないようにするには?
- Unityでのデバッグ描画の最適な方法は?
- UnityのPackage Manager(UPM)でカスタムパッケージを管理する方法は?
- Unityのシーン設計でMainシーンとSubシーンを分ける利点は?
- VRコンテンツのアクセシビリティ対応のポイントは?
- WebGLビルドでJavaScriptと連携するには?
- キャラクターをジャンプさせるには?
- ゲームパッドの振動を実装する方法(PC/コンソール)は?
- 効果音(SE)を鳴らすには?
- 敵をプレイヤーに向かわせるには?
- 残りの記事を表示 (97) 記事を折りたたむ
-
デバイス別FAQ
- Quest 3でパススルー表示を有効にするには?
- Quest 3でMR向け権限が不足している時は何を確認するか?
- Quest 3でハンドトラッキングを使うには?
- Quest 3でコントローラーが反応しない時の確認点は?
- Quest 3で90Hzや120Hzを使う時の注意点は?
- Quest 3で固定Foveated Renderingを使うには?
- Quest 3でLink/Air Link経由の挙動と単体実行が違う時は?
- Quest 3でインストールはできるのに起動直後に落ちる時は?
- Quest 3でマイクが使えない時は?
- Quest 3でパススルー越しのUIが見づらい時は?
- Quest 2向けに軽量化する時の優先順位は?
- Quest 2で72Hz前提に設計する時の考え方は?
- Quest Pro等でEye Trackingを扱う時の注意点は?
- Quest Pro等でFace Trackingを使う時の実装方針は?
- Quest 3S向けに設計する時の確認点は?
- PICO 4でコントローラーマッピングが期待通りでない時は?
- PICO 4でハンドトラッキングを使う時の注意点は?
- PICO 4でビルドは通るが入力が来ない時は?
- PICO 4でパフォーマンスが出ない時に最初に見るべき点は?
- PICOのSDKとOpenXRはどう使い分けるか?
- PCVRをOpenXRで動かす時に必要な確認は?
- SteamVR経由でテストする時の落とし穴は?
- Meta Linkで見えるのにAPKでは見えない表現がある時は?
- ARCore対応端末かを確認するには?
- ARCore/ARKitで平面検出が不安定な時は?
- ARCoreで深度機能を使う時の注意点は?
- iPhone/iPadでARKitを使う前に必要な設定は?
- ARKitでカメラ許可が出ない時は?
- iPad ProやiPhone ProのLiDARを使う時の考え方は?
- ARKitの画像認識が端末ごとに差がある時は?
- Android端末でマイク・カメラの同時利用時に注意することは?
- Vision系ヘッドセット向けにUnity XRを移植する時の注意点は?
- HoloLens系デバイスで重要になるUXは?
- スマートフォンARで発熱が大きい時は?
- スマートフォンARでバッテリー消費を抑えるには?
- デバイスごとにコントローラー表示モデルを切り替えるには?
- デバイスごとに入力差分を吸収するには?
- XRデバイスごとにUI距離を変えるべきか?
- デバイス別にGraphics APIを切り替える時の考え方は?
- Android端末で外部ストレージ保存が失敗する時は?
- iOS端末でバックグラウンド復帰後にARが壊れる時は?
- Quest系でGuardianや境界表示と干渉しないUI設計は?
- PICO系でストア提出前に見直すべき項目は?
- Quest Store提出前に重要な確認点は?
- ARアプリで機種によってカメラFOV差が気になる時は?
- 複数XRデバイス対応で最初に決めるべきことは?
- デバイス固有不具合を管理するには?
- Quest系で再センタリングを実装するには?
- ARCore/ARKitの両対応で画像認識設定を揃えるには?
- Quest 3でMRと通常VRを切り替える時の設計は?
- 残りの記事を表示 (35) 記事を折りたたむ
< すべてのトピックに戻る
event(イベント)とdelegateの基本的な使い方は?
更新済み2026年3月9日
「ボタンが押されたら、登録されている処理を全部実行する」といった、連携の仕組みを作るときに使います。
delegate(またはAction)で「こういう形のメソッドを受け付けますよ」と定義し、eventをつけることで外部から勝手に処理を消されたり実行されたりするのを防ぎます。
Actionを使うと、難しい定義なしで簡潔に書けるので初心者におすすめです。
目次


