Skip to content

Instantly share code, notes, and snippets.

View TsubameUnity's full-sized avatar

Tsubame TsubameUnity

View GitHub Profile
@TsubameUnity
TsubameUnity / RuntimePrefabUpdate.cs
Last active February 21, 2020 04:57
Prefabに付けておくと、ランタイム時にシーン変更・ゲーム終了時に自動でPrefabを更新する機能
using UnityEngine;
public class RuntimePrefabUpdate : MonoBehaviour
{
#if UNITY_EDITOR
UnityEngine.SceneManagement.Scene scene;
void Start()
{
scene = gameObject.scene;
@TsubameUnity
TsubameUnity / EditorMultiDisplayDrawer.cs
Created February 12, 2020 07:29
UnityEditor上で、Camera.Renderを使用するパターンでの、マルチディスプレイ対応スクリプト
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using UnityEngine;
public class EditorMultiDisplayDrawer
{
#if UNITY_EDITOR
Type type;
@TsubameUnity
TsubameUnity / EditorHeaderHideFlags.cs
Last active February 7, 2020 06:23
GameObjectのヘッダーに情報を追加できるようにするエディタ拡張。
using System;
using System.Reflection;
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(GameObject))]
public class EditorHeaderHideFlags : Editor
{
Editor defaultCustomEditor;
@TsubameUnity
TsubameUnity / SequentialImport.cs
Last active July 30, 2019 03:25
AssetDatabase.ImportPackageを連続で呼び出す
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System;
public class ImportPackageList : ScriptableSingleton<ImportPackageList>
{
public List<string> list;
}
@TsubameUnity
TsubameUnity / AABBuildAndInstall.cs
Last active July 29, 2019 09:29
64bit対応AAB書き出し後apkインストール用(BundleToolPathは https://github.com/google/bundletool/releasesよりjarをDLして配置)
public class AABBuildAndInstall{
[MenuItem("ビルド/AAB BuildInstall #&b")]
static void BuildInstallAAB()
{
var path = System.Environment.CurrentDirectory;
var fullPath = Path.Combine(path, AABName);
var levels = EditorBuildSettings.scenes.Where(x => x.enabled).Select(x => x.path).ToArray();
PlayerSettings.SetScriptingBackend(EditorUserBuildSettings.selectedBuildTargetGroup, ScriptingImplementation.IL2CPP);
PlayerSettings.Android.targetArchitectures = AndroidArchitecture.All;
@TsubameUnity
TsubameUnity / ApkBuildAndInstall.cs
Last active July 30, 2019 05:50
Apkのビルドとインストールをメニューから選択orショートカットキーで出来るようにする
public class ApkBuildAndInstall
{
[MenuItem("ビルド/APK BuildInstall #b")]
static void BuildInstallApk()
{
var path = System.Environment.CurrentDirectory;
var fullPath = Path.Combine(path, "test.apk");
var levels = EditorBuildSettings.scenes.Where(x => x.enabled).Select(x => x.path).ToArray();
PlayerSettings.SetScriptingBackend(EditorUserBuildSettings.selectedBuildTargetGroup, ScriptingImplementation.Mono2x);
@TsubameUnity
TsubameUnity / GUIStyleViewer.cs
Last active July 3, 2020 03:35
UnityタブのTools/GUIStyleの確認から、Unity内部にあるGUIStyleの一覧を確認、表示、動作確認をできるようにするエディタ拡張。
// GUIStyleの名前部分は選択してコピーができます。
// キー入力でウィンドウの操作が可能です。
// 左右キー:ページの移動
// 上下キー:スクロールの移動
// Enter:検索にフォーカスを移動
// Shift + 左右キー:GUIStyleの表示数を変更
// Ctrl + 左右キー:GUIStyleの表示分割数を変更
// Shift + Tab:Toolbarの切り替え
@TsubameUnity
TsubameUnity / ButtonTextCustomer
Last active November 8, 2019 07:04
ボタンを操作できるようにラップしたもの。スクリプトを追加すれば[UI/Button]を呼び出したのと同等の処理を行う。
using UnityEngine;
using UnityEngine.UI;
using System.Reflection;
#if UNITY_EDITOR
using UnityEditor;
using UnityEditor.UI;
using UnityEditor.SceneManagement;
#endif
@TsubameUnity
TsubameUnity / SceneAttribute.cs
Last active April 5, 2019 05:16
ビルドシーンに一覧からシーン選択できるアトリビュート。登録シーンが消えても手動で変更するまで保持します
using System.Linq;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
class SceneAttribute : PropertyAttribute
{
}
@TsubameUnity
TsubameUnity / ShapePropertyNameAttribute
Last active March 20, 2019 04:43
シリアライズしたプロパティの名前を自動で整形します。使い方はこんな感じ。[field: SerializeField, ShapePropertyName] public string Property { get; set; }
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
class ShapePropertyNameAttribute : PropertyAttribute
{
#if UNITY_EDITOR
[CustomPropertyDrawer(typeof(ShapePropertyNameAttribute))]
class FieldNameDrawer : PropertyDrawer