コガネブログ

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

【Unity】【Odin - Inspector and Serializer】文字列を複数行表示できる「MultiLineProperty」属性

目次

「MultiLineProperty」属性

「MultiLineProperty」属性を使用すると
Inspector で文字列を複数行に分けて表示することができます

f:id:baba_s:20170721164018p:plain

using Sirenix.OdinInspector;
using UnityEngine;

public class Example : MonoBehaviour
{
    // Unity
    [Multiline( 3 )] public string text1;
    
    // Odin
    [MultiLineProperty( 3 )] public string text2;
    
    [HideLabel, MultiLineProperty( 3 )] public string text3;
    
    [ShowInInspector, MultiLineProperty( 3 )] public string Text { get; set; }
}

使い方

下記のように記述するだけで使用できます

[MultiLineProperty( 3 )] public string text2;

Unity にも同様の機能を持つ「Multiline」属性が存在します

[Multiline( 3 )] public string text1;

Unity の「Multiline」属性と
Odin の「MultiLineProperty」属性の違いとしては

Odin の「MultiLineProperty」属性は、
Odin の属性と併用して使用することが可能です

例えば HideLabel 属性と併用して
ラベルを非表示にして入力欄を大きく表示したり

[HideLabel, MultiLineProperty( 3 )] public string text3;

ShowInInspector 属性と併用して
プロパティの文字列も複数行表示することができます

[ShowInInspector, MultiLineProperty( 3 )] public string Text { get; set; }

参考サイト様

Odin Inspector and Serializer | Improve your workflow in Unity