はじめに 昨今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 以降は以下を参照。 …
目次 目次 環境 概要 関数一覧 GUI GUILayout EditorGUI EditorGUILayout 環境 Unity 2022.3 概要 Editor拡張で使えるUI機能はクラスが4つある GUI - Unity スクリプトリファレンス GUILayout - Unity スクリプトリファレンス EditorGUI - Unity スクリプト…
目次 目次 検証環境 Path を操作する Assetsからの相対パス、絶対パス Assets を含む相対パス 検証環境 LINQPad で代替 Path を操作する yotiky.hatenablog.com Assetsからの相対パス、絶対パス void Main() { //var baseDir = Application.dataPath; var ba…
TL;DR 動的にロードされるアセットだけが含まれるフォルダー(ResourcesやStreamingAssets)を対象とした場合、AssetPostprocessorやPackage Managerのイベントが利用できる可能性がある。 条件が厳しいのはUPMにアセットを含める関係上、元のGUIDを維持でき…
TL;DR .NET 6 でDirectoryクラスにCreateSymbolikLinkメソッドが追加されたため、6以降ではバッチやProcessを使わなくても C# で直接シンボリックリンクを作成できるようになりました。 この記事はディレクトリを対象としていますが、ファイルを対象としたFi…
目次 目次 TL;DR 仮想デスクトップ AutoHotKeyの導入 スクリプトファイル TL;DR Windows 10 で使用していた MoveToDesktop が Windows 11 では使用できない AutoHotKey を使用して同等の機能を導入する 導入すると現在のウィンドウを [Win + Alt + → or ←] …
目次 目次 検証環境 導入 実行 参考 検証環境 Unity 2022.3.21f1 ZLogger 2.4.1 ZLogger.Unity 2.4.1 CsprojModifier 1.2.1 github.com github.com 導入 NugetForUnityをインストール NugetForUnityで以下をインストール ZLogger Project Settings > Package…
目次 目次 概要 環境 手順 サンプル実装 参考 概要 ピュアC# の.NETプロジェクトでModel層を作成する R3 を導入してRxをシームレスに利用する Unity プロジェクトはすでに存在するものとする 環境 Unity 2022.3.21f1 R3 1.1.11 手順 新しいクラスライブラリ…
目次 目次 開発環境 MagicLeap 手順 開発環境 Unity 2022.3.21f1 MRTK3 Input 3.1 UX Components 3.1.1 Core Definition 3.1.1 MagicLeap2 MagicLeap Setup Tool 2.0.7 MagicLeap MRTK3 1.0.0-pre6 MagicLeap SDK 2.0.0 MagicLeap 基本的な手順は公式や以下…
目次 目次 導入 環境 手順 補足 導入 MagicLeap2のMRTK3でOpenXRに対応したとのこと。 MRTK3 for ML2 の OpenXR 対応に関してMRTK3 を使った ML2 アプリ開発が、OpenXR SDK ベースで可能になりました。新しいプロファイルを使ったものとなるので、README に…