Polyglot Notebooksで対話型実行環境(REPL)を構築する方法です。 Polyglot Notebooksとは? インストール〜ファイル作成まで 書いてみる&実行してみる 参考
Unity6で追加されたシェーダグラフヒートマップ機能でノードごとの「処理の重さ」を可視化する方法についてまとめました。 ヒートマップカラーモード 使い方 カスタムノードやサブグラフの処理負荷を設定する 参考
Claude Codeでサブエージェントを並列で実行して処理時間を短縮&コンテキスト圧縮を避ける方法です。 サブエージェントとは カスタムエージェントの作成方法 動作確認 複数のサブエージェントを並列実行 参考
Incremental Source GeneratorでUnityに置いた設定ファイル(Additional files)を参照する方法です。 やりたいこと 設定ファイルを作成する Incremental Source Generatorを書き換える Unityで動作確認 Riderで動作確認 関連 参考
はじめに AIコーディングエージェントの強み AIコーディングエージェントの弱み これからのソフトウェアエンジニアの役割 人間の仕事その1: 仕様 人間の仕事その2: 設計 人間の仕事その3: 検証 人間の仕事その4: 専門性 まとめ
RiderでUnity向けIncremental Source Generatorのテストを書く方法です。 はじめに テスト用プロジェクトを作る テストを書く テストを実行する 関連
RiderでUnity向けのIncremental Source GeneratorをイチからつくってUnityで動かすまでの手順をまとめました。 Incremental Source Generatorとは? ソリューションとプロジェクトを作成する 簡単なIncremental Source Generatorを作る Riderで動作確認をす…
UnityのAddressable Report を使って、Addressableアセットシステムでビルドされたアセットバンドルの情報を見る方法についてまとめました。 はじめに 使い方 Addressables Reportウィンドウの説明 レポートの保存場所 参考
ImageMagickでアルファチャンネルを透明度ではなく追加チャンネルとして扱うtiffを生成する方法です。 やりたいこと pngからtiffを生成する 圧縮しておく 参考
UniTaskにおいてキャンセル時に例外を発生させない SuppressCancellationThrow の使い方をまとめました。 SuppressCancellationThrowの使い方 戻り値ありの場合 使いどころ
Source Generator で超便利になったMasterMemory v3 の使い方をまとめました。 MasterMemoryとは? バージョン3系が登場 インストール テーブル構造定義クラスを作成する バイナリをビルドする バイナリを読み込む その他覚えておくべきこと 関連 参考
UnityのTimelineで一部区間だけをプレビュー再生する方法です はじめに 一部区間だけをプレビュー再生 参考
Flutterで画面遷移ライブラリgo_routerの画面遷移方法以外の機能をまとめました。 はじめに パスの代わりにルート名を指定して遷移する パスパラメータとクエリパラメータ データを受け渡す ルートを動的に変更する 遷移アニメーション エラー画面表示 参考
UniTaskでAddressableのロードキャンセル時に起こりがちなメモリリークをautoReleaseWhenCanceledで自動解放して防ぐ方法についてまとめました。 キャンセル時にはアンロードが必要 挙動を確認する 実行結果 関連
Unity6で追加されたGPU Resident Drawerについてまとめます。 はじめに セットパスコールを減らすSRP Batcher DOTSから生まれたBatch Renderer Group API より簡単に使える様にした GPU Resident Drawer GPU Resident Drawer の使い方 制約 参考
Flutterのgo_routerを使って色々な遷移の実装する方法についてまとめました。 はじめに セットアップ 同じ階層の画面に遷移する 子階層の画面に遷移する 画面の一部の領域で遷移を行う 画面の一部の領域から子に遷移する タブを切り替えても状態がリセットさ…
Unity6で追加された、「ビルド設定」「プレイヤー設定」を複数持てるBuild Profiles機能の使い方についてまとめました。 Build Profilesとは Build Profilesの使い方 データの保存場所 部分的なオーバーライドができると嬉しい 参考
Unity6から追加された「InstantiateAsync」でオブジェクトを非同期生成する方法についてまとめました。 InstantiateAsyncとは? 使い方 Awakeの時間を調整する 参考
MacとRiderの組み合わせでObfuscarを使ってDLLを難読化する手順についてまとめます。 Obfuscarとは? ドキュメントとサンプル 基本的な使い方 まずDLLを適当に作る Obfuscarをインストールする ObfuscarのConfigファイルを作成する Monoをインストールする …
Unity謹製ビヘイビアツリー「Unity Behavior」の使い方についてまとめました。 Unity Behaviorとは? セットアップ 簡単なツリーを作る 実行する Blackboardを使う Blackboardを書き換える カスタムノードを作成する 列挙型とSwitchノードで状態を管理する …
FlutterでBLoCパターンの実装を行う「flutter_bloc」の使い方をまとめました。 はじめに セットアップ 基本的な使い方 Blocで状態管理クラスを作る 生成済みの状態インスタンスを別のページで使う 複数の状態を使用する 対象の状態をフィルタリングするBlocS…
UnityでTextMeshProのアセットバンドルをAddressableアセットシステムできちんと管理する方法です。 はじめに StaticフォントをAddressableに登録する シェーダを別アセットバンドルに切り出す DynamicフォントをAddressableに登録する フォントを別アセット…
C#で複数のExceptionがまとめられたAggregateExceptionを正しくハンドリングする方法についてまとめました。 AggregateExceptionとは? Flatten Handle 参考
FlutterでRiverpodを使っているウィジェットをWidgetbookでカタログ化する方法です。 はじめに Riverpodを使ったウィジェットを作る appBuilderを使ってProviderScopeで囲う ProviderScopeのoverrideにプロバイダーのモックを設定 関連
RiderでNuGetパッケージのキャッシュを消す方法です。 はじめに 方法
RiderでUnityの機能を使ったDLLをビルドする方法です。 やりたいこと .NETソリューションとプロジェクトを作成 .NETプロジェクトにUnityEngineを参照させる Unityの機能を使ったプログラムを書く DLLをビルド 動作確認 参考
UnityのUI Toolkitでキーボードの押下イベントをハンドリングする方法についてまとめました。 KeyDownEventとKeyUpEvent characterプロパティについて フォーカスについて 参考
UnityでTimelineアニメーションを作る際の効率的な作り方についてまとめました。 またこの内容に関連して、個人で公開していたOSS「UnityUIPlayables」をPublic Archiveにしたのでその話も踏まえてまとめます。 Timelineアニメーションの二つの作り方 キーフ…
UnityでMasterMemoryの文字列自動インターン化の挙動を確認しました。 はじめに 挙動確認用のマスタデータクラスを作る MessagePackとMasterMemoryのコード生成をする MasterMemoryのバイナリをビルドする バイナリをロードしてインターン化を確認する strin…
FlutterでRiverpod と Flutter Hooks を組み合わせて使う方法についてまとめました。 はじめに インストール Flutter Hooksを使ったアプリケーションを作る Riverpodを使ったアプリケーションを作る Flutter HooksとRiverpodを組み合わせる Consumerを使うケ…