StringSettingTag
string-setting
Description
Displays a user editable string, uses a ModalKeyboard for input
Mainly used as a settings component for the Mods settings
but it can be used in a regular panel as well
Components and Properties
###
GenericSetting
apply-on-change
bool
Whether or not to immediatly set value
when setting changes.
bind-value
bool
Whether or not to bind the UIValue given with the value
property to update the value when NotifyPropertyChanged is called.
formatter
UIAction<type>;string
How to display a certain setting option.
get-event
event
When this event is raised the current setting’s value will be set to the value of value
.
on-change
UIAction<type>
UIAction to call when value changes.
set-event
event
When this event is raised value
will be set to the current setting’s value.
value
UIValue(type)
UIValue of setting type to get from and set to.
Graphic
raycast-padding
Vector4
Padding to be applied to the masking, ordered counter-clockwise (left, bottom, right, top).
raycast-target
raycast
bool
Whether or not this graphic be considered a target for raycasting.
LayoutElement
flexible-height
float
The relative amount of additional available height this layout element should fill out relative to its siblings.
flexible-width
float
The relative amount of additional available width this layout element should fill out relative to its siblings.
ignore-layout
bool
Whether or not to use layout element.
min-height
float
The minimum height this layout element should have.
min-width
float
The minimum width this layout element should have.
preferred-height
pref-height
float
The preferred height this layout element should have before additional available height is allocated.
preferred-width
pref-width
float
The preferred width this layout element should have before additional available width is allocated.
LocalizedTextMeshProUGUI
maintain-text-alignment
bool
Whether or not to maintain the text alignment regardless of the reading direction of the current language.
text-key
localization key
The localization key for the text to display.
RectTransform
active
bool
Whether or not the GameObject this RectTransform belongs to is active.
anchor-max
Vector2
The anchor point for the upper right corner of the rectangle defined as a fraction of the size of the parent rectangle.
anchor-max-x
float
The normalized x position in the parent RectTransform that the upper right corner is anchored to.
anchor-max-y
float
The normalized y position in the parent RectTransform that the upper right corner is anchored to.
anchor-min
Vector2
The anchor point for the lower left corner of the rectangle defined as a fraction of the size of the parent rectangle.
anchor-min-x
float
The normalized x position in the parent RectTransform that the lower left corner is anchored to.
anchor-min-y
float
The normalized y position in the parent RectTransform that the lower left corner is anchored to.
anchored-position
Vector2
Position of the rectangle’s pivot point relative to the anchors.
anchored-position-x
anchor-pos-x
float
The x position of the pivot of this RectTransform relative to the anchor reference point.
anchored-position-y
anchor-pos-y
float
The y position of the pivot of this RectTransform relative to the anchor reference point.
hover-hint
string
Text that will appear when a pointer hovers over.
hover-hint-key
localization key
The localization key used for the hover hint text.
local-scale
scale
Vector3
Scale factor applied to the object in the X, Y and Z dimensions.
name
string
The name of the GameObject.
pivot
Vector2
The location around which the rectangle rotates.
pivot-x
float
Normalized x position to rotate around.
pivot-y
float
Normalized y position to rotate around.
size-delta
Vector2
The size added to the rectangle defined by the anchors.
size-delta-x
float
The width added to the rectangle defined by the anchors.
size-delta-y
float
The height added to the rectangle defined by the anchors.
TextMeshProUGUI
font-align
align
TextAlignmentOptions
How to align the text.
all-uppercase
bool
Whether or not to make the text all uppercase.
bold
bool
Whether or not text is bold.
font-color
color
color string
Color of font.
face-color
color string
Face color of font.
font-size
float
Size of font.
italics
bool
Whether or not to italicize text.
outline-color
color string
Outline color of font.
outline-width
float
Width of font outline.
overflow-mode
TextOverflowModes
How to handle text overflow.
rich-text
bool
Whether or not to enable rich text.
strikethrough
bool
Whether or not to strikethrough text.
text
string
Text to display.
underlined
bool
Whether or not to underline text.
word-wrapping
bool
Whether or not to wrap text.
Example Usage
example.bsml
<scrollable-settings-container>
<string-setting text="Nice text" value="nice-text"></string-setting>
</scrollable-settings-container>
using BeatSaberMarkupLanguage.Attributes;
using BeatSaberMarkupLanguage.Parser;
public class ExampleSettingsController : PersistentSingleton<ExampleSettingsController>
{
[UIValue("nice-text")]
private string niceText = "Some text";
[UIAction("#apply")]
public void OnApply() => Logger.log.Info($"nice-text value applied, now: {niceText}");
}
This example shows how you can display a string component in the Mods settings
panel.
screenshot has bug with left rounded edge of string setting, has since been fixed