コガネブログ

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

2020-09-01から1ヶ月間の記事一覧

【Unity】Console ウィンドウの internal な機能を呼び出せるようにするクラス「UniConsoleWindowInternal」を GitHub に公開しました

リポジトリ 使用例 using Kogane; using UnityEditor; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { // Console ウィンドウでログを検索 ConsoleWindowInternal.SetFilter( "ピカチュウ" ); } }

【Unity】'XXXX' is missing the class attribute 'ExtensionOfNativeClass'!

概要 'XXXX' is missing the class attribute 'ExtensionOfNativeClass'! 上記のエラーログが出る場合は using UnityEngine; public class Example : MonoBehaviour { } MonoBehaviour を継承したクラスをゲームオブジェクトにアタッチした状態で using Unit…

【Unity】メニューから呼び出せるすべてのコマンドを表示するエディタ拡張

概要

【雑記】Mac を自動起動・終了させる方法

概要 Mac の「システム環境設定 > 省エネルギー」から「スケジュール」を選択して スケジュールを指定する 参考サイト様

【C#】明示的なインターフェイスの実装

C#

概要 public interface IHoge { void Hoge(); } public class Hoge1 : IHoge { // 通常の実装 public void Hoge() { } } public class Hoge2 : IHoge { // 明示的なインターフェイスの実装 void IHoge.Hoge() { } } public class Program { private static v…

【Unity】Project ビューの internal な機能を呼び出せるようにするクラス「UniProjectBrowserInternal」を GitHub に公開しました

リポジトリ 使用例 using Kogane; using UnityEditor; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { // Project ビューでアセットを検索 ProjectBrowserInternal.SetSearch( "ピカチュウ" ); } }

【Unity】EditorGUIUtility.labelWidth の設定範囲を using で指定できるクラス

ソースコード using System; using UnityEditor; public sealed class LabelWidthScope : IDisposable { private readonly float m_oldLabelWidth; public LabelWidthScope( int labelWidth ) { m_oldLabelWidth = EditorGUIUtility.labelWidth; EditorGUIUt…

【Unity】選択中のフォルダとすべてのサブフォルダのパスを取得するエディタ拡張

概要 using System.Linq; using UnityEditor; using UnityEngine; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var paths = Selection .GetFiltered<DefaultAsset>( SelectionMode.DeepAssets ) .Select( x => AssetDatabase.GetAsse</defaultasset>…

【Unity】2020.2b 新機能 - エディタの UI の色や形をスタイルシートで変えられる

はじめに Unity プロジェクトの Assets フォルダに「Editor/StyleSheets/Extensions」フォルダを作って その中に「common.uss」を追加してコードを記述することで エディタの UI の色や形を変えられます :root { --unity-metrics-default-border_radius: 12p…

【Unity】エディタで使われている .uss をエクスポートするエディタ拡張

概要 上記のスクリプトを Unity プロジェクトの Editor フォルダに追加して Unity メニューの「StyleSheetExporter > Export」を押すと エディタで使われている .uss をエクスポートできます

【Unity】リリースノートの RSS

概要 リリースノートの RSS https://unity3d.com/unity/releases.xml LTS のリリースノートの RSS https://unity3d.com/unity/lts-releases.xml 参考サイト様

【VSCode】文字列のスタイル(キャメル、パスカル、ローワー、アッパー、スネークなど)を変換できる拡張機能「change-case」

概要 「change-case」を VSCode に導入することで 文字列のスタイルを変換できるようになります 使い方 変換したい文字列を選択した状態で Ctrl + Shit + P でコマンドパレットを開いて 「Change Case Commands」を選択して 変換したいケースを選択すること…

【Jenkins】Slack と連携する基本的な方法(2020年9月版)

検証環境 Windows 10 Jenkins 2.249.1 Slack 4.9.0 Slack Notification 2.42 連携方法 Slack に Jenkins インテグレーションを追加 https://my.slack.com/services/new/jenkins-ci 上記のページにアクセスして Jenkins から通知を受け取るチャンネルを選択し…

【Unity】Shift + H で選択中のゲームオブジェクト以外を Scene ビューで非表示にできる

概要 Shift + H を押すと選択中のゲームオブジェクト以外を Scene ビューで非表示にすることができます

【Unity】Script Execution Order の欄にはスクリプトをドラッグできる

概要 Script Execution Order の欄にスクリプトをドラッグすると そのスクリプトを Script Execution Order に追加できます

【Jenkins】Mac 起動時に自動で Jenkins を起動する方法

概要 java -jar /Applications/Jenkins/jenkins.war 上記のコマンドを .command ファイルで保存して 「システム環境設定 > ユーザとグループ > ログイン項目」を開いて 「+」から上記の .command ファイルを選択します

【Unity】Unity 製のアプリが Android 11 でクラッシュする件に関するフォーラムなど

リンク

【雑記】Windows 10 で Shift + 右クリックでファイルのパスをコピーできる

概要 Shift + 右クリックでファイルのパスをコピーできる

【Unity】OpenUPM の基本的な使い方

OpenUPM とは コマンドラインから Unity プロジェクトにパッケージをインストールできる機能 OpenUPM レジストリに登録されているパッケージをインストール可能 パッケージ一覧:https://openupm.com/packages/ パッケージをレジストリに登録することも可能 …

【Unity】Unity 2020.2b 新機能 - Profiler の情報をランタイムで取得できる「ProfilerRecorder」

使用例 using System.Text; using Unity.Profiling; using UnityEngine; public class Example : MonoBehaviour { private string m_text; private ProfilerRecorder m_totalUsedMemoryRecorder; private ProfilerRecorder m_totalReservedMemoryRecorder; p…

【Unity】Unity 2020.1 新機能 - エディタのレイアウトを好きなフォルダに保存・読み込みできる

概要 Unity エディタ右上のプルダウンメニューから「More」を選択して Save to disk...:現在のエディタのレイアウトを .wlt ファイルで保存 Load from disk...:.wlt ファイルからエディタのレイアウトを読み込み できるようになりました

【Unity】Unity 2020.1 新機能 - ゲームオブジェクトを原点(0, 0, 0)に生成できるようになった

概要 Unity の「Preferences > General」の「Create Objects at Origin」をオンにすると Hierarchy の「Create Empty」でゲームオブジェクトを作成した時に 原点(0, 0, 0)に生成されるようになります

【Unity】Unity 2020.1 へのアップグレードガイド

概要 上記ページで Unity 2020.1 へのアップグレードガイドを確認できる

【Unity】Unity 2020.1 に合わせて更新された Unity マニュアル

概要 上記ページで Unity 2020.1 に合わせて更新された Unity マニュアルを確認できる 参考サイト様

【Unity】エディタ上でのスクリプト関連の操作でなぜ処理に時間がかかっているのか確認できる「Editor Iteration Profiler」紹介

はじめに 現在、「Editor Iteration Profiler」と呼ばれるエディタ用のプロファイラが開発されています 「Editor Iteration Profiler」を Unity プロジェクトに導入することで スクリプトをコンパイルした時になぜ時間がかかっているのか Unity を再生する時…

【Unity】Unity 2020.2 新機能 - アセットの名前変更と移動操作で元に戻すとやり直しがサポート

概要 Unity 2020.2 からアセットの名前変更と移動操作で 元に戻すとやり直し(Undo・Redo)ができるようになりました

【Unity】Unity 2020.2 新機能 - 最近開いたシーンを Unity メニューから開けるようになった

概要 Unity メニューの「File > Open Recent Scene」から 最近開いたシーンを開けるようになりました

【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点勘違いしていたのでそこを直したら正常に動…