コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

2020-09-22から1日間の記事一覧

【Unity】エディタ拡張でアセットの絶対パスを取得する方法

概要 using System.IO; using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { Debug.Log( Path.GetFullPath( "Packages/com.cysharp.unitask/Runtime/UniTask.asmdef" ) ); } } P…

【C#】デバッグビルドだとやけに動作が遅い場合のメモ

C#

概要 リリースビルドだと3秒で終わる処理が デバッグビルドだと5分以上かかる減少に遭遇した Visual Studio メニューの「デバッグ > すべてのブレークポイントの削除」を選択したら デバッグビルドでも処理が5秒くらいで終わるようになった 条件付きブレーク…

【Unity】AssetBundle の manifest の読み込みに失敗する場合

概要 AssetBundle.LoadFromFile( path ); AssetBundle.LoadFromFile で AssetBundle の manifest を読み込もうとしたところ 以下のエラーが発生する状態だった Unable to read header from archive file: XXXX 2点勘違いしていたのでそこを直したら正常に動…

【Unity】UniTask で非同期処理がすでに開始している場合は待機するだけのスクリプトメモ

コールバック版 using Kogane; using System; using UnityEngine; public class Example : MonoBehaviour { private readonly Hoge m_hoge = new Hoge(); private void Update() { if ( Input.GetKeyDown( KeyCode.Z ) ) { Hoge( "AAA" ); } if ( Input.GetK…

【Unity】Unity Hub で Unity プロジェクトごとに Unity Accelerator のキャッシュサーバを指定する方法

概要 -adb2 -EnableCacheServer -cacheServerEndpoint 【IPアドレス】:【ポート番号】 Unity Hub の各プロジェクトの三点リーダをクリックして 「詳細なプロジェクト設定」を選択して 入力欄に上記のコマンドを入力して「実行」を押すことで 次回からその Un…

【Unity】Unity エディタのデバッグモード・リリースモードを切り替えるエディタ拡張

概要 using UnityEditor; using UnityEditor.Compilation; public static class Example { [MenuItem( "Tools/Debug" )] private static void ToDebug() { CompilationPipeline.codeOptimization = CodeOptimization.Debug; } [MenuItem( "Tools/Release" )]…

【Unity】IOException: Directory Library/BuildCache\XXXX is not empty

概要 IOException: Directory Library/BuildCache\XXXX is not empty Addressable Asset System を使用しているプロジェクトで BuildCache.PurgeCache( false ); を実行したところ 上記の例外が発生することがあった 一度、手動で Library/BuildCache フォル…

【C#】using ステートメントに指定した変数が null でも抜ける時に例外は発生しない

C#

概要 using System; using UnityEngine; internal sealed class Hoge : IDisposable { public void Dispose() { Debug.Log( "ピカチュウ" ); } } internal class Example : MonoBehaviour { private void Start() { using ( Hoge hoge = null ) { } } } 上記…

【Jenkins】日時を指定してビルドできる「Schedule Build」

概要 Jenkins のジョブの画面で「Schedule Build」を選択すると 日時を指定してビルドできます

【Jenkins】Sectioned View の List View Section のヘッダの文字サイズを変更する方法

概要 Jenkins に「Simple Theme」プラグインをインストールして 「Jenkins の管理 > システムの設定」の「Theme」の欄の「追加 > Extra CSS」を選択して .pane-frame h2 { font-size: 1rem; } を入力します 適用前 適用後

【Jenkins】リストに最新のステータスを表示できる「Compact Columns」

概要 最新のステータスの日時を「yyyy/MM/dd HH:mm」形式で表示できます 最後のビルドが成功したか失敗したかによって文字色が変わります ジョブの名前も最後のビルドが成功か失敗かによって文字色を変えられます カーソルを合わせると Tips が表示されます …

【Jenkins】実行予定のビルドの日時表記を変更する方法

概要 「Jenkins の管理 > システムの設定」を開いて 「Next Executions Configuration」の欄の「Date format」を yyyy/MM/dd HH:mm に変更する

【Jenkins】Jenkins Pipeline でタイムアウトした時のリザルトを Success にする方法

概要 pipeline { agent any stages { stage("Hello") { steps { script { timeout(time: 5, unit: "SECONDS") { sleep 10 echo "Hello World" } } } } // このステージはスキップされる stage("Hello2") { steps { echo "Hello World2" } } } } 通常、タイム…

【Jenkins】Jenkins Pipeline でステージごとにタイムアウトを設定する方法

概要 方法1 pipeline { agent any stages { stage("Hello") { steps { script { timeout(time: 5, unit: "SECONDS") { sleep 10 echo "Hello World" } } } } } } 方法2 pipeline { agent any stages { stage("Hello") { options { timeout(time: 5, unit: "S…

【Jenkins】フリースタイルのジョブをパイプラインに変換できるプラグイン「Declarative Pipeline Migration Assistant」メモ

概要 「Declarative Pipeline Migration Assistant」は フリースタイルのジョブをパイプラインに変換できるプラグインです デフォルトでは変換に対応していない機能も コンバータを自作することができます 参考サイト様

【Jenkins】ダークモードにする方法

検証環境 Windows 10 Jenkins 2.249.1 方法 Jenkins のプラグインマネージャーから下記の2つのプラグインをインストールします Theme Manager (Incubating) Dark Theme そして、Jenkins のシステムの設定を開いて 「Built-in Themes」の欄を「Dark」を選択し…

【Jenkins】Jenkins Pipeline で他のジョブを実行した時に終了を待たない方法

概要 pipeline { agent any stages { stage('Hello') { steps { build( job: "【ジョブ名】", wait: false ) } } } } build する時に wait に false を設定する

【Jenkins】Jenkins Pipeline で定期的に実行を指定する方法

概要 pipeline { agent any triggers { cron( "0 10-19 * * *" ) } stages { stage('Hello') { steps { echo 'Hello World' } } } } triggers ディレクティブで指定する

【Jenkins】Jenkins Pipeline でタイムアウトを設定する方法

概要 pipeline { agent any options { //timeout(time: 5, unit: "MILLISECONDS") //timeout(time: 5, unit: "SECONDS") //timeout(time: 5, unit: "MINUTES") //timeout(time: 5, unit: "HOURS") timeout(time: 5, unit: "DAYS") } stages { stage('Hello')…

【Jenkins】タブを並び替えたい場合

概要 Jenkins のタブは自由に並び替えできない プラグインも存在しない? Jenkins のタブは数字順->アルファベット順で並び替えられるので タブ名の先頭に数字やアルファベットをつけることで意図した順番にすることは可能 参考サイト様

【Jenkins】Windows で Jenkins を開始・終了するバッチ

通常版 停止 sc stop Jenkins 開始 sc start Jenkins 再起動 set SERVICE_NAME=Jenkins sc stop %SERVICE_NAME% sc start %SERVICE_NAME% 自動で管理者権限で処理する版 停止 @echo off cd /d %~dp0 openfiles > NUL 2>&1 if NOT %ERRORLEVEL% EQU 0 goto pr…

【Jenkins】Jenkins でマテリアルデザインを使用できる「jenkins-material-theme」

概要 「jenkins-material-theme」を導入することで Jenkins でマテリアルデザインを使用できるようになります 検証環境 Windows 10 Jenkins 2.249.1 導入方法 Jenkins のプラグインマネージャーから「Simple Theme」をインストールしておきます Jenkins のシ…

【雑記】Mac のスリープ解除時にパスワードの入力をスキップする方法

概要 「システム環境設定 > セキュリティとプライバシー」を選択して 「スリープとスクリーンセーバの解除にパスワードを要求」をオフにする