
Como exibir um README na Unity ao abrir o projeto
Uma forma interessante de exibir uma mensagem de boas vindas ou informações sobre o projeto ao ser carregado é exibir um conteúdo similar à um arquivo README que pode ser customizado e exibido na janela do inspector dentro do editor da Unity. Neste vídeo eu mostro como criar um ScriptableObject
, alterar sua visualização utilizando um CustomEditor
e, por fim, colocar o foco do projeto e do inspector neste arquivo ao carregar o projeto na Unity.
Abaixo estão os códigos das duas classes criadas no vídeo como referência, Readme
e ReadEditor
, respectivamente.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "Readme", menuName = "Create Readme")]
public class Readme : ScriptableObject
{
public string Title;
public List<string> Sections = new List<string>();
}
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(Readme))]
[InitializeOnLoad]
public class ReadmeEditor : Editor
{
static ReadmeEditor()
{
EditorApplication.delayCall += SelectReadme;
}
static void SelectReadme()
{
EditorApplication.delayCall -= SelectReadme;
var readmeObject = Resources.Load<Readme>("Readme");
if (readmeObject != null)
{
EditorUtility.FocusProjectWindow();
Selection.activeObject = readmeObject;
}
}
protected override void OnHeaderGUI()
{
Readme readme = (Readme)target;
GUILayout.BeginHorizontal();
var style = GUI.skin.GetStyle("label");
style.fontSize = 32;
GUILayout.Label(readme.Title, style);
GUILayout.EndHorizontal();
}
public override void OnInspectorGUI()
{
Readme readme = (Readme)target;
foreach(string section in readme.Sections)
{
var style = GUI.skin.GetStyle("label");
style.fontSize = 18;
style.wordWrap = true;
GUILayout.Label(section, style);
GUILayout.Space(18);
}
}
}
Veja a playlist do canal com mais vídeos sobre Unity clicando aqui.
Dúvidas, comentários ou sugestões para futuros vídeos deixem aqui no post ou lá no vídeo no YouTube.