コガネブログ

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

【Unity】Inspector で入力欄を限界まで大きく表示できる「UnityCompactFieldAttribute」紹介

はじめに 「UnityCompactFieldAttribute」を Unity プロジェクトに導入することで Inspector で入力欄を限界まで大きく表示できるようになります 使用例 デフォルト using UnityEngine; public class Example : MonoBehaviour { public int m_id; public str…

【Rider】後置テンプレートを使う(15種類以上)

はじめに Rider では後置テンプレートと呼ばれる機能を使用して 楽にコーディングすることができます 目次 はじめに 目次 例 else for foreach forr if new not notnull null parse return tryparse typeof yield switch 例 ここでは Rider で使用できる後置…

【Rider】勉強会などで役に立つ Rider のプレゼンテーションモード

概要 Rider メニューの「表示 > 外観 > プレゼンテーション・モードにする」を選択すると 全画面に大きくコードエディタを表示できます 終了したい場合は、画面上部にカーソルを合わせて 「表示 > 外観 > プレゼンテーション・モードを終了」を選択します

【Unity】Rider で C# 8.0 のサポートを無効化する方法

はじめに Rider では C# 8.0 がサポートされているため、 switch 文を式に置き換える、といったことが可能ですが 現在、Unity は C# 8.0 をサポートしていないため、 Rider の機能で C# 8.0 の文法に置き換えてしまうと、 Unity でコンパイルエラーになって…

【Unity】Sprite で Radial 360 の fillAmount を設定できる「FilledSpriteShader」紹介

はじめに 「FilledSpriteShader」を Unity プロジェクトに導入することで Sprite で Radial 360 の fillAmount を設定できるようになります 使用例 使い方 Sprite Renderer のマテリアルに「SampleMaterial」を設定します (もしくは Shader が「Unlit/Fille…

【Rider】Unity において問題のあるコード(30パターン以上)には下線で警告が表示される

はじめに Rider で Unity 連携を有効化すると、Unity において問題のあるコードに 警告の波線が表示されたり、ハイライト表示されるようになります この記事では、どのようなコードに警告の波線やハイライトが表示されるか紹介していきます 目次 はじめに 目…

【Unity】Python で .asset や .prefab、.unity などのファイルを編集する方法

はじめに この記事は「Unity #3 Advent Calendar 2019」の 12/9 の記事です 「Unity YAML Parser」を Python で使用することで Unity の .asset や .prefab、.unity などのファイルを編集できます 目次 はじめに 目次 検証環境 インストール方法 ProjectSett…

【Unity】プロジェクトに存在するすべてのアセットの GUID を出力するエディタ拡張

概要 上記のスクリプトを Unity プロジェクトの Editor フォルダに追加して Unity メニューの「Tools > Export GUID」を押すと CSV 形式でアセットのパスと GUID を出力してクリップボードにコピーできます

【おすすめスライド】「モチ上ガールが出来るまで」

スライド

【Rider】「Heap Allocations Viewer」を導入すると割り当てが発生しているコードに下線が表示されるようになる

はじめに 「Heap Allocations Viewer」を Rider に導入すると 割り当てが発生しているコードに下線が表示されるようになるので 自分が知らなかった割り当ての存在を知ることができます この記事では、どのようなコードがハイライトされるようになるか紹介し…

【Unity】スクリプトから WebGL Template を変更する方法

概要 using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var name = "Minimal"; PlayerSettings.WebGL.template = $"APPLICATION:{name}"; } } PlayerSettings.WebGL.template にテンプレートの名…

【Unity】エディタの再生ボタンの左右に独自の GUI を追加する

はじめに この記事は「Unity Advent Calendar 2019」の 12/6 の記事です 上記の「CustomToolbar」を Unity プロジェクトに導入することで エディタの再生ボタンの左右に独自の GUI を追加することができます 使用例 使い方 「CustomToolbar」を Unity プロジ…

【ReSharper】ReSharper の Code Cleanup をコマンドラインから実行する方法

はじめに 「ReSharper Command Line Tools」を使用することで ReSharper の Code Cleanup をコマンドラインから実行できるようになります 準備 https://www.jetbrains.com/resharper/download/#section=resharper-clt 上記のページから「ReSharper Command L…

【Unity】uGUI のクリックのパフォーマンスを最適化する方法がまとめられたサイト様

概要 https://networm.me/2019/10/06/unity-ugui-eventsystem-optimization/ https://blog.csdn.net/cyf649669121/article/details/83661023 https://blog.csdn.net/cyf649669121/article/details/83785539 https://blog.csdn.net/cyf649669121/article/deta…

【Unity】エディタ拡張でイベントの登録前に解除する必要があるのかどうか

はじめに using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.hierarchyWindowItemOnGUI -= OnGUI; // ★ EditorApplication.hierarchyWindowItemOnGUI += OnGUI; } private sta…