※ChatGPTとの壁打ちの雑メモ。 雑すぎて人に読んでもらうにはわからなそうなので、遂行するため一旦閉じ。
UniTask(Cysharp製)で非同期処理を行う際に欠かせない CancellationToken の使い方を、生成方法・基本構文・応用・GC削減テクニック・ベストプラクティスまで、完全網羅で解説します。 目次 目次 ✅ CancellationToken の生成・取得手段【完全リスト】 1.…
UniRxやUniTaskなどを使った場合の横断的な例外処理についてのメモ書き。 基本的にUniRxでのExceptionは、ストリームが壊れないように堅牢な方向に機能が実装されている。ストリームの内から外へ例外を搬出するのは楽ではない。そういう閉じた世界(例えば画…
メモ書き 2018年の記事。Abortが呼ばれなかった様子。 [UniRx.Async] UnityWebRequestAsyncOperationConfiguredAwaiter周辺で困った話 #UniTask - Qiita その話のIssue。 UnityWebRequest cancellation is not call UnityWebRequest.Abort · Issue #361 · ne…
目次 目次 Tips どこでも検索 (Search Everywhere) スコープとファイルカラー 検索ダイアログ一般 スコープ(Scope) ファイルカラー 使い所 参考 Tips どこでも検索 (Search Everywhere) ショートカットキーは、 Shift 2回 もしくは Ctrl + ,。 使い方は以下…
目次 目次 検証環境 導入 基本 構成画面 プログラム 初期化 スコープ パッケージの分離 Web画面 Issues Discover Tag User 検証環境 Unity 6000.0.34f1 Sentry Unity 3.0.2 導入 公式ドキュメント。 docs.sentry.io SentryのWebページから、Settings > Proje…
注意点として、Awake で実行すると予期せぬ動きになるのでStart以降で実行するのが良さそう。 完了 モーションを完了させる。未再生の場合は再生してから完了させる。 モーションは再生中のままになる。 public static void Complete(this LitMotionAnimatio…
検証環境 Fork 2.6.0.0 使い方 Fork で Worktreeを使う場合、メニューから「Add Worktree...」を実行する。 現状メニューからしか追加できない。 Worktreeに追加できるのは、ローカルに存在するブランチのみ。ロケーションでディレクトリを指定する。 次の場…
Unity Package Managerで自作のパッケージを参照する場合、自作のパッケージのpackage.jsonにdependenciesを設定しても、gitベースの依存関係は解決してくれない。 以下のパッケージを追加することで、gitベースの依存関係を解決してくれるようになる。 gith…
はじめに 昨今Unity界隈では、DIが流行していると言っても過言ではない。 依存性注入(DI)とDIコンテナは、モダンなソフトウェア開発において広く使用されているパターンだが、その使用には慎重な考慮が必要である。特にUnityのようなゲーム開発環境では、…
TL;DR 複数のリポジトリをモノレポ化した際の備忘録 tomono スクリプトを修正したスクリプトを使用 リポジトリを移行することにフォーカスした記事 以下の内容はこの記事では扱わない モノレポ自体の説明や移行の検討 CI/CD、ツールなど 運用ルール サンプル…
複数アカウントを使ってて、操作対象のリポジトリとは異なるアカウント情報が使われてる時に起きてた。 リポジトリを持つアカウントで操作するように設定したら行けた。
GitやForkで複数のアカウントを使い分けれるようにしていたが、設定を消して1つにしてもコマンド実行時にアカウント選択画面が出続ける場合の対処方法。 設定でアカウントが1つになっていることを確認してみる。 ~/.sshの鍵 ~/.ssh/config Forkの設定 それで…
前提 ViewとModelは、MVPのViewとModelのイメージ 以下は自分の認識 MVxはそもそもViewをView以外とどう切り離すかの話なので、Model=View以外の処理 DDDなどのドメインは、システム化するメインのルール、仕様のこと Model⊃ドメインの関係 UnityにおけるVi…
TL;DR 前半は結果的に上手く行かなかったので、結論は追記の方参照されたし 試行錯誤 GitHubでリポジトリの統合(モノレポ化)の検証をしてて起きた事象。 以下のような状態から10時間以上経過しても終わらなかった。 $ git lfs push monorepo --all Uploadi…
ゲーム開発にREST API が向かない理由は以下の通り。 あらかじめ仕様の全体を見通すことができない 処理もデータも複合されたものを求められる事が多い 仕様の変化が激しい REST REST の原則は以下の4つがあるらしい。 原典には6つあるとかないとかあるが、…
コマンドプロンプトのタブの外側を右クリックして設定を開く。 左のメニューから「コマンドプロンプト」を開いて、追加の設定 > 詳細設定 > 履歴のサイズ で変更可能。 Windows 11のデフォルトは 9001。 Fork の Console からなど、「コマンドプロンプト」で…
async void Awake() { try { Debug.Log("async void"); await UniTask.Delay(5); throw new Exception($"async void exception : frame {Time.frameCount}"); } catch (Exception e) { Debug.LogError("catch exception:" + e.Message); } } private void St…
ドメイン駆動設計は、Wikipediaによると以下の説明がなされている。 ドメイン駆動設計(ドメインくどうせっけい、英語: domain-driven design、DDD)は主要なソフトウェア設計手法の一つであり[1]、ドメインエキスパートの言葉に基づき、ドメインにおけるプ…
TL;DR Xで「Advent Calendar」を含み、いいねが10個以上ついた投稿を1日毎に検索するリンク集 カレンダー Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
「エンジニアリングマネージャー」と言われて何をする人かピンとこなかったので、軽く調べてまとめる。 まず、EMと言うと「エンジニアリングマネージャー」と「エンジニアマネージャー」に別れるらしい。 どっちが正しいのか分からないのでGoogleで調べてみ…
TL;DR Slackで扱える変数は投稿日時のみ Google スプレッドシートを踏み台にして、カスタマイズした文字列を取得する 応用すれば結構色々できそう 目次 TL;DR 目次 手順 スプレッドシートに変数を用意する ワークフローを作成する 実行結果 手順 スプレッド…
NuGet Manager で BenchmarkDotNet を追加する。 属性をつけてそのまま実行すると次のエラーが出力される。 // Validating benchmarks: // * Assembly LINQPadQuery, Version=1.0.0.569, Culture=neutral, PublicKeyToken=null is located in temp. If you a…
目次 目次 検証環境 全般 リファレンス OnGUI Unity 起動時の処理 値の更新と保存 フォルダ構成 Editor フォルダ リソース Resources フォルダ Editor Default Resources フォルダ 拡張対象 オリジナルウィンドウ 既存ウィンドウ Inspector Hierarchy Projec…
概要 Markdownのテーブル作成を少し便利にしてくれる拡張機能。行や列の入れ替えが簡単にできる。 marketplace.visualstudio.com 目次 概要 目次 機能 コマンド Table Mode 補足 機能 コマンド コマンドパレットの呼び出し Windows : Ctrl + Shift + P Mac :…
private void Main() { var builder = new StringBuilder(); var list = GetAllEditorWindowTypes(); foreach ( var n in list.Select(x => x.ToString()).OrderBy(x => x) ) { builder.AppendLine( n ); } Debug.Log( builder.ToString() ); } private stat…
機能 フォルダのみ操作可能 ルートで指定したディレクトリ配下のシンボリックリンクを検索して一覧表示 シンボリックリンクの作成と削除 ソースコードは以下に。 github.com
Verb に RunAs を設定して、UseShellExecute を true にする。 Hidden が設定されている時に、WaitForExit で待機すると処理が終了しない可能性があるので注意。 public static class Cmd { public static void CreateSymbolicLink(string src, string dest)…
LINQPadはインストールされている最新 .NET Framework 4.xを対象としている。 以下のフォーラムで最新のバージョンが何であるか確認する linq ファイルが共有されている。 forum.linqpad.net 以下コードの抜粋。 void Main() { GetFWVersion().Dump(); } sta…
TL;DR .NET 6 でDirectoryクラスにCreateSymbolikLinkメソッドが追加されたが、5以前では使えないため Win32API を使って操作する。 注意する点は実行に管理者権限が必要なため、Unity などから利用するのは難しいかもしれない。 .NET 6 以降は以下を参照。 …