Skip to main content

SUIText

Index

Properties Index

Property Name
bool SupportRichText get set
bool ResizeTextForBestFit get set
int ResizeTextMinSize get set
int ResizeTextMaxSize get set
bool AlignByGeometry get set
int FontSize get set
float LineSpacing get set
float PixelsPerUnit get
float MinWidth get
float PreferredWidth get
float FlexibleWidth get
float MinHeight get
float PreferredHeight get
float FlexibleHeight get
int LayoutPriority get
bool Enabled get set
string Text get set
SColor Color get set
SGameObject GameObject get

Properties

SupportRichText

bool SupportRichText get set

Whether this Text will support rich text.

Space.Host.ExecutingObject.UIText.SupportRichText = true
--the below script will make a UIToggle disable/enable Rich Text support in the UIText
--[Add "toggle" and "text" references to the Scripting Runtime component]

thisGameObject = Space.Host.ExecutingObject

toggle = Space.Host.GetReference("toggle").UIToggle
text = Space.Host.GetReference("text").UIText
text.Text = "<b> Bold Test </b>"
OVC = function()
if toggle.IsOn then
text.SupportRichText = true
else
text.SupportRichText = false
end
end

toggle.OnValueChanged(OVC)

ResizeTextForBestFit

bool ResizeTextForBestFit get set

Should the text be allowed to auto resized.

Space.Host.ExecutingObject.UIText.ResizeTextForBestFit = false
--the below script will make a UIToggle disable/enable the Best Fit feature in the UIText
--[Add "toggle" and "text" references to the Scripting Runtime component]

thisGameObject = Space.Host.ExecutingObject

toggle = Space.Host.GetReference("toggle").UIToggle
text = Space.Host.GetReference("text").UIText
text.Text = "A very long text a very long text a very long text a very long text"
OVC = function()
if toggle.IsOn then
text.ResizeTextForBestFit = true
else
text.ResizeTextForBestFit = false
end
end

toggle.OnValueChanged(OVC)

ResizeTextMinSize

int ResizeTextMinSize get set

The minimum size the text is allowed to be.

Space.Host.ExecutingObject.UIText.ResizeTextMinSize = 20
--the below script will make a slider change the UIText's Best Fit Min Size
--[Add "slider" and "text" references to the Scripting Runtime component]

thisGameObject = Space.Host.ExecutingObject

slider = Space.Host.GetReference("slider").UISlider
text = Space.Host.GetReference("text").UIText
text.Text = "Best Fit Min Size"
text.ResizeTextForBestFit = true

OVC = function()
text.ResizeTextMinSize = (slider.Value * 20) + 10 -- from 10 to 30
end

slider.OnValueChanged(OVC)

ResizeTextMaxSize

int ResizeTextMaxSize get set

The maximum size the text is allowed to be.

Space.Host.ExecutingObject.UIText.ResizeTextMaxSize = 150
--the below script will make a slider change the UIText's Best Fit Max Size
--[Add "slider" and "text" references to the Scripting Runtime component]

thisGameObject = Space.Host.ExecutingObject

slider = Space.Host.GetReference("slider").UISlider
text = Space.Host.GetReference("text").UIText
text.Text = "Best Fit Max Size"
text.ResizeTextForBestFit = true

OVC = function()
text.ResizeTextMaxSize = (slider.Value * 50) + 20 -- from 50 to 70
end

slider.OnValueChanged(OVC)

AlignByGeometry

bool AlignByGeometry get set

Use the range of glyph geometry to perform horizontal alignment.

Space.Host.ExecutingObject.UIText.AlignByGeometry = true
--the below script will make a UIToggle disable/enable the Align By Geometry feature in the UIText
--[Add "toggle" and "text" references to the Scripting Runtime component]

thisGameObject = Space.Host.ExecutingObject

toggle = Space.Host.GetReference("toggle").UIToggle
text = Space.Host.GetReference("text").UIText
text.Text = "Align By Geometry"
OVC = function()
if toggle.IsOn then
text.AlignByGeometry = true
else
text.AlignByGeometry = false
end
end

toggle.OnValueChanged(OVC)

FontSize

int FontSize get set

The size that the Font should render at.

Space.Host.ExecutingObject.UIText.FontSize = 54
--the below script will make a slider change the UIText's Font Size
--[Add "slider" and "text" references to the Scripting Runtime component]

thisGameObject = Space.Host.ExecutingObject

slider = Space.Host.GetReference("slider").UISlider
text = Space.Host.GetReference("text").UIText
text.Text = "Text Size Test"

OVC = function()
text.FontSize = (slider.Value * 40) + 10 -- from 10 to 50
end

slider.OnValueChanged(OVC)

LineSpacing

float LineSpacing get set

How much space will be in-between lines of text. This is a multiplier. The line spacing value set will be multiplied by the font's internal line spacing. A value of 1 will produce normal line spacing.

thisObject = Space.Host.ExecutingObject.UIText.LineSpacing = 2
--the below script will make a slider change the UIText's Line Spacing
--[Add "slider" and "text" references to the Scripting Runtime component]

thisGameObject = Space.Host.ExecutingObject

slider = Space.Host.GetReference("slider").UISlider
text = Space.Host.GetReference("text").UIText
text.Text = "Line Spacing Line Spacing Line Spacing Line Spacing Line Spacing"

OVC = function()
text.LineSpacing = (slider.Value * 2) -- from 0 to 2
end

slider.OnValueChanged(OVC)

PixelsPerUnit

float PixelsPerUnit get

Provides information about how fonts are scale to the screen.

For dynamic fonts, the value is equivalent to the scale factor of the canvas. For non-dynamic fonts, the value is calculated from the requested text size and the size from the font.

thisObject = Space.Host.ExecutingObject
--get a reference to our object
thisObjectText = thisObject.UIText
--get a reference to the UIText component in our object

Space.Log(thisObjectText.PixelsPerUnit)
--Prints the PixelsPerUnit value of this UIText component to the console

MinWidth

float MinWidth get

The minimum width this UIText may be allocated. (Used by the Layout system).

thisObject = Space.Host.ExecutingObject
--get a reference to our object
thisObjectText = thisObject.UIText
--get a reference to the UIText component in our object

Space.Log(thisObjectText.MinWidth)
--Prints the MinWidth value of this UIText component to the console

PreferredWidth

float PreferredWidth get

The preferred width this UIText should be allocated if there is sufficient space. (Used by the Layout system)

pWidth = Space.Host.ExecutingObject.UIText.PreferredWidth

FlexibleWidth

float FlexibleWidth get

The extra relative width this UIText should be allocated if there is additional available space. (Used by the Layout system)

FlexibleWidth = Space.Host.ExecutingObject.UIText.FlexibleWidth

MinHeight

float MinHeight get

The minimum height this UIText may be allocated.(Used by the Layout system).

minHeight = Space.Host.ExecutingObject.UIText.MinHeight

PreferredHeight

float PreferredHeight get

The preferred height this UIText should be allocated if there is sufficient space. (Used by the Layout system)

pHeight = Space.Host.ExecutingObject.UIText.PreferredHeight

FlexibleHeight

float FlexibleHeight get

The extra relative height this UIText should be allocated if there is additional available space. (Used by the Layout system.)

FlexibleHeight = Space.Host.ExecutingObject.UIText.FlexibleHeight

LayoutPriority

int LayoutPriority get

The layout priority of this UIText component.(Used by the Layout system.)

layoutPriority = Space.Host.ExecutingObject.UIText.LayoutPriority

Enabled

bool Enabled get set

Whether the UIText component is Enabled or not will decide if it is visually updating or not.

Space.Host.ExecutingObject.UIText.Enabled = true
--this below script will make clicking this object disable/enable a UIText component

thisGameObject = Space.Host.ExecutingObject

text = Space.Host.GetReference("text").UIText

OnClick = function()

if text.Enabled then
text.Enabled = false
else
text.Enabled = true
end

end

thisGameObject.AddClickable()
thisGameObject.Clickable.Tooltip = "click to hide/show text"
thisGameObject.Clickable.OnClick(OnClick)

Text

string Text get set

The string value this Text displays.

Space.Host.ExecutingObject.UIText.Text = "Hello World!"
--the below script will make a UIText element with this script
--constantly update itself to show the local time
--(Example: UI Text element that shows local clock)
--[This object needs to be a UI Text object. In Unity, Heirarchy -> Create -> UI -> Text]
--<Note: UI Text element could also be in world space if it's canvas is a world space canvas>

thisGameObject = Space.Host.ExecutingObject

OnUpdate = function()
thisGameObject.UIText.Text = Space.LocalTime
end

thisGameObject.SubscribeToEvents()
thisGameObject.OnUpdate(OnUpdate)

Color

SColor Color get set

Base color of the Graphic.

Space.Host.ExecutingObject.UIText.Color = Color.Red
--This script dynamically changes the text's color of a GameObject with UIText component.
--For example in a text sign over your shop that you want to make more visually stand out
--or perhaps text decoration during a celebration or a text element in your User Interface or HUD.

thisObject = Space.Host.ExecutingObject
--get a reference to our object
thisObjectText = thisObject.UIText
--get a reference to the SUIText component in our object
colors = {Color.Red, Color.Black, Color.White, Color.Blue, Color.Green, Color.Yellow}
--here we are holding 6 predefined colors in a Lua Table which we will go through


function ColorChanger()

while true do
--infinite loop

for i=1,#colors do
--For Loop to cycle through all the table items
thisObjectText.color = colors[i]
--this will set the color based on which item in the table we are now at
coroutine.yield(0.1)
--this will pause for a tenth of a second before we change to the next color
end

end
end


Space.Host.StartCoroutine(ColorChanger)
--this coroutine will now call our ColorChanger() function which is infinitely changing our text colors between a select range.

GameObject

SGameObject GameObject get

Property Description

theGameObject = Space.Host.ExecutingObject.UIText.Text