Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


GetNormalizedBodyText(uint)

Gets the function's body text in an easy-to-read format.
Read time 1 minuteLast updated 10 days ago

Definition

public string GetNormalizedBodyText(uint tabWidth = 4)

Parameters

tabWidth

The number of spaces to use when converting any tab characters within the body text.

Returns

Type

Description

stringA readable version of the function's body text.

Remarks

This method performs the following operations on the body text:
  • Tab characters are converted to spaces based on
    tabWidth
    .
  • The text is left-aligned such that the least-indented line within the raw body text has zero indentation.
Additional Resources: ReflectedFunction.BodyText.

Examples

using UnityEditor;using UnityEditor.ShaderApiReflection;using UnityEngine;// This example adds a menu item which prints information from reflected functions in any shader include// assets selected in the project view.public class ReflectedFunctionPrinter{ [MenuItem("Examples/ReflectedFunctionPrinter")] static void PrintReflectedFunctions() { // Visit each selected object foreach (Object selectedObject in Selection.objects) { // Check if the object is a ShaderInclude if (selectedObject is ShaderInclude includeObject) { Debug.Log("Found shader include at " + AssetDatabase.GetAssetPath(includeObject)); // Visit each exposed function in the include foreach (ReflectedFunction func in includeObject.Reflection.ReflectedFunctions) PrintFunction(func); } } } static void PrintFunction(ReflectedFunction func) { // Print the function's signature Debug.Log($"Found function with signature: {func.GetSignature()}"); // Print the function's summary, if it exists if (func.Hints.TryGetValue("summary", out string funcSummary)) Debug.Log($"{func.Name}'s doc comment: {funcSummary}"); // Print the function's body text Debug.Log($"{func.Name}'s body:\n{func.GetNormalizedBodyText()}"); // Visit each parameter foreach (ReflectedParameter param in func.Parameters) { // Print the parameter Debug.Log($"{func.Name} has parameter: {param.ToString()}"); // Print the parameter's summary if (param.Hints.TryGetValue("summary", out string paramSummary)) Debug.Log($"{param.Name}'s doc comment: {paramSummary}"); } }}