Home › Engine executable › UI XML vocabulary

Engine executable. Settings and tools of the game program (CivilizationVI.exe), usable without a mod. Mostly undocumented debug and configuration functionality; descriptions come from analysis of the executable and have not all been tried in the running game.

UI XML vocabulary (ForgeUI)

The XML files that define the game's user interface are read by the exe's UI toolkit, ForgeUI. Each control type has code that reads its attributes and child names; this page lists them straight from that code, so it shows every attribute a control type understands, including ones the game's own files never use. The shipped column counts how often the attribute appears on that element in the 346 UI XML files that come with the game.

Of the 338 names found in the exe, 172 are used in shipped files (the rest are supported but not used by the game, or are child element and style names). Verified: the name is a literal in the control's XML-reading code and the shipped counts. Inferred: the element name of each control type (checked against the tags in the shipped files) and the short explanations.

Most control types inherit the attributes of ControlBase (the Container element: Anchor, Size, Offset, Hidden, mouse handling, ...); each type section below lists the names its own code reads in addition and marks those that are also in the base list.

Control types

Control type (C++) XML element Element uses in shipped files Names read
AlphaAnim <AlphaAnim> 387 5
AnimControl <SlideAnim> 294 16
ButtonControl <Button> 505 16
ButtonControlBase base class, no element — 12
CheckBoxControl <CheckBox> 123 23
ColorBoxButtonControl <ColorBox> 2 9
ContextBase <Context> 251 2
ControlBase <Container> 2840 34
DragControl <Drag> 8 6
EditBoxControl <EditBox> 57 12
FlipAnim <FlipAnim> 50 4
GraphControl <Graph> 10 12
GridButtonControl <GridButton> 1018 16
GridControl <Grid> 2079 11
ImageControl <Image> 3369 21
LineControl <Line> 89 6
ListBoxControlBase <ListBox> 5 3
MeterControl <Meter> 128 9
MovieControl <Movie> 11 20
PullDownControl <PullDown> 132 12
RadioButtonControl <RadioButton> 36 2
ScrollPanelControl <ScrollPanel> 350 13
ScrollTextControl <ScrollTextField> 33 3
SliderControl <Slider> 23 8
StackControl <Stack> 1891 9
TabControl <Tab> 3 3
TextButtonControl <TextButton> 22 8
TextControl <Label> 3787 31
TutorialControl <Tutorial> 114 2
TweenControl base class, no element — 5
WorldAnchorControl <WorldAnchor> 14 5

AlphaAnim

XML element: <AlphaAnim> (curated alias).

5 names
Name Shipped Also on ControlBase Note
AlphaEnd 366
AlphaBegin 235
AlphaStart 131
Texture — Image file for the control.
TextureOffset —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): Cycle (382), Speed (380), ID (287), Size (273), Function (190), Stopped (110), Pause (89), FunctionPower (16).

AnimControl

XML element: <SlideAnim> (curated alias).

16 names
Name Shipped Also on ControlBase Note
Cycle 274
Function 244
Speed 174
Stopped 61
Pause 30
FunctionPower 24
EndPause 15
Bounce —
OneBounce —
OutQuad —
OutQuint —
OutSine —
Square —
TextureSize —
Void1 —
Void2 —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): Start (197), ID (155), End (154), Size (145), EndOffset (118), Begin (70), Style (20).

ButtonControl

XML element: <Button> (curated alias).

16 names
Name Shipped Also on ControlBase Note
Texture 293 Image file for the control.
StateOffsetIncrement 131
NoStateChange 71
TextureOffset 40
Color 10 yes Tint colour, as r,g,b,a or a style colour name.
FlipX 4
StretchMode 3
String 3 Text or text key to show.
SingleStateTextureHeight 1
FlipY —
IconSize —
Linear —
Sampler —
SingleStateTextureWidth —
TextAnchor —
TextOffset —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): ID (501), Size (372), Style (174).

ButtonControlBase

XML element: none, this is a base class of other controls (base class (no element of its own)).

12 names
Name Shipped Also on ControlBase Note
CallOnHold —
CustomIgnorePressMaxTime —
Disabled — yes
DisabledCallbacks —
DisabledMouseMoveCallbacks —
IgnorePressAfterTime —
MinTouchesBeforeInactive —
Selected —
SoundID —
States —
Void1 —
Void2 —

CheckBoxControl

XML element: <CheckBox> (curated alias).

23 names
Name Shipped Also on ControlBase Note
ButtonSize 45
ButtonTexture 45
CheckTexture 45
IsChecked 38
TextOffset 31
CheckSize 30
CheckTextureOffset 30
BoxOnLeft 29
UseSelectedTextures 28
CheckColor 22
CheckOffset 13
UnCheckOffset 13
UnCheckSize 13
UnCheckTexture 13
UnCheckTextureOffset 7
NoStateChange 6
CheckTextureSize —
SingleStateTextureHeight —
StateOffsetIncrement —
StretchMode —
TextAnchorSide —
UnCheckColor —
UnCheckTextureSize —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): ID (123), Style (107), String (60), Size (20), WrapWidth (13), Align (12).

ColorBoxButtonControl

XML element: <ColorBox> (curated alias).

9 names
Name Shipped Also on ControlBase Note
DisabledColor —
DownColor —
NormalColor —
OverColor —
SelectedColor —
SelectedDisabledColor —
SelectedDownColor —
SelectedNormalColor —
SelectedOverColor —

ContextBase

XML element: <Context> (curated alias).

2 names
Name Shipped Also on ControlBase Note
DeferLoad —
FileName —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): {http://www.w3.org/2001/XMLSchema-instance}noNamespaceSchemaLocation (102), Style (57), FontStyle (50), ColorSet (46), Name (39).

ControlBase

XML element: <Container> (curated alias).

34 names
Name Shipped Also on ControlBase Note
Offset 1054 Position offset from the anchor, as x,y.
Anchor 908 Where the control sits in its parent, as horizontal,vertical (for example C,C or L,T).
Hidden 184 Starts hidden.
ToolTip 58 Tooltip text key.
MinSize 45
AnchorSide 38
AutoSizePadding 26
ConsumeMouse 19 Stops mouse events from reaching controls underneath.
ConsumeMouseOver 17
ConsumeMouseButton 12
Color 8 Tint colour, as r,g,b,a or a style colour name.
InnerPadding 8
ConsumeAllMouse 5
Padding 3
ConsumeMouseWheel 2
InnerOffset 1
Alpha —
AutoSize — Size the control to its content.
ClampSize —
debug —
Disabled —
False —
GlobalUpdate —
HideOnMouseOver —
Horizontal —
ModalBlocksInput —
NeedsMouseOver —
NoClip —
ShowOnMouseOut —
ShowOnMouseOver —
SizePadding —
ToolTipType —
TutorialActive —
Vertical —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): Size (2406), ID (1558), Style (69).

DragControl

XML element: <Drag> (curated alias).

6 names
Name Shipped Also on ControlBase Note
Buttons 8
DragThreshold 8
SnapBackSpeed 8
ClickToDrag —
DragMode —
PlaceholderAlpha —

EditBoxControl

XML element: <EditBox> (curated alias).

12 names
Name Shipped Also on ControlBase Note
EditMode 47
MaxLength 42
FocusStop 15
KeepFocus 10
HighlightColor 9
CursorColor 5
Obscure 4
NumberInput 3
DisableProfanityCheck —
HighlightOnFocus —
MailInput —
TextLocked —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): ID (57), Size (56), Style (53), FontStyle (21), ColorSet (15), String (11), CallOnChar (10).

FlipAnim

XML element: <FlipAnim> (curated alias).

4 names
Name Shipped Also on ControlBase Note
Columns 50
FrameCount 50
Texture 50 Image file for the control.
Speed 44

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): Size (50), ID (28), EndPause (21), Stopped (18).

GraphControl

XML element: <Graph> (curated alias).

12 names
Name Shipped Also on ControlBase Note
Domain 10
NumberInterval 10
Range 10
ShowAxes 10
ShowGridLines 10
ShowNumbers 10
ShowTicks 10
TickInterval 10
Background 5
FontStyle 5 A named style from the style sheets.
GridColor 5
AxisColor —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): ID (10), Size (10).

GridButtonControl

XML element: <GridButton> (curated alias).

16 names
Name Shipped Also on ControlBase Note
String 508 Text or text key to show.
SliceCorner 186
SliceTextureSize 183
SliceSize 101
TextOffset 86
FontStyle 60 A named style from the style sheets.
FontSize 44
TextAnchor 34
SizeToText 25
TextColor 13
Color0 8
Color1 8
GridData —
SelectedTextColor —
SliceStart —
ULSize —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): Size (959), ID (948), Style (870), Texture (189), StateOffsetIncrement (110), TruncateWidth (29), ColorSet (25), NoStateChange (22), WrapWidth (15), SmallCaps (14), SmallCapsType (14), States (13), Void1 (10).

GridControl

XML element: <Grid> (curated alias).

11 names
Name Shipped Also on ControlBase Note
Texture 1112 Image file for the control.
SliceCorner 1097
SliceTextureSize 948
SliceSize 625
SliceStart 69
NoStateChange 10
StateOffsetIncrement 3
TextureOffset 1
HKerning —
TexStart —
VKerning —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): Size (1943), ID (1019), Style (970).

ImageControl

XML element: <Image> (curated alias).

21 names
Name Shipped Also on ControlBase Note
Texture 3030 Image file for the control.
StretchMode 303
FlipY 251
TextureOffset 221
IconSize 150
FlipX 123
Rotate 116
Sampler 11
ColorSpace —
Linear —
MaskChildren —
MaskTexture —
MaskTextureOffset —
NormalizedQuad —
Scale —
TextureOffsetUV —
TextureSizeUV —
TileX —
TileY —
Uniform —
UniformToFill —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): Size (3012), ID (1978), Icon (211), StateOffsetIncrement (15), Speed (15), Style (12).

LineControl

XML element: <Line> (curated alias).

6 names
Name Shipped Also on ControlBase Note
Color 89 yes Tint colour, as r,g,b,a or a style colour name.
Start 89
Width 89
IgnorePixelScaleForClipRender 7
WorldEnd —
WorldStart —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): End (89), ID (24).

ListBoxControlBase

XML element: <ListBox> (curated alias).

3 names
Name Shipped Also on ControlBase Note
ListContainer 5
EntryInstance —
InstanceData —

MeterControl

XML element: <Meter> (curated alias).

9 names
Name Shipped Also on ControlBase Note
Texture 128 Image file for the control.
Follow 50
Speed 48
Percent 38
CounterClockwise 26
Color 17 yes Tint colour, as r,g,b,a or a style colour name.
HasShadow —
ShadowAlpha —
TextureSize —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): ID (128), Size (128).

MovieControl

XML element: <Movie> (curated alias).

20 names
Name Shipped Also on ControlBase Note
StretchMode 11
LoopMovie 7
Movie 5
MaskChildren 4
FlipX —
FlipY —
Linear —
LoopMovieMask —
MaskTexture —
MaskTextureOffset —
MovieMask —
NormalizedQuad —
Rotate —
Sampler —
Scale —
TextureOffsetUV —
TextureSizeUV —
Uniform —
UniformToFill —
UniformToFillCentered —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): ID (11), Size (11).

PullDownControl

XML element: <PullDown> (curated alias).

12 names
Name Shipped Also on ControlBase Note
ScrollThreshold 93
SpaceForScroll 77
AutoFlip 33
AutoSizePopUp 24
AutoSizePopup 15
ButtonData —
GridData —
InstanceData —
LeftButton —
RightButton —
ScrollPanelData —
StackData —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): ID (132), Size (127), Style (93).

RadioButtonControl

XML element: <RadioButton> (curated alias).

2 names
Name Shipped Also on ControlBase Note
RadioGroup 36
AllowClickOff 33

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): ID (36), Style (36), String (35), TextOffset (33), ButtonTexture (33), ButtonSize (33), CheckTexture (33), CheckSize (33), CheckTextureOffset (33), BoxOnLeft (33).

ScrollPanelControl

XML element: <ScrollPanel> (curated alias).

13 names
Name Shipped Also on ControlBase Note
Vertical 239 yes
AutoScrollBar 153
FullClip 27
HideScrollBar 6
ScrollBar 6
DisableMouseWheelScroll 2
HasExternalChildren 1
MouseWheelAreaSize 1
DownButton —
EnableScrollBar —
SingleStepPercent —
SingleStepSize —
UpButton —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): Size (348), ID (311), Style (87).

ScrollTextControl

XML element: <ScrollTextField> (curated alias).

3 names
Name Shipped Also on ControlBase Note
ScrollPanelData —
SlideAnimData —
SpeedLevel —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): Size (33), Style (33), ID (32), String (14).

SliderControl

XML element: <Slider> (curated alias).

8 names
Name Shipped Also on ControlBase Note
Steps 5
BarOverColor —
Gutter —
Length —
Thumb —
ThumbOverColor —
Vertical — yes
WheelSteps —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): Style (23), Size (23), ID (23).

StackControl

XML element: <Stack> (curated alias).

9 names
Name Shipped Also on ControlBase Note
StackGrowth 1570
Padding 723 yes
StackPadding 648
WrapWidth 115
WrapGrowth 82
EndPadding 7
WrapPadding 6
Bottom —
Right —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): ID (1129), Size (230).

TabControl

XML element: <Tab> (curated alias).

3 names
Name Shipped Also on ControlBase Note
SelectedTab —
TabButtons —
TabContainer —

TextButtonControl

XML element: <TextButton> (curated alias).

8 names
Name Shipped Also on ControlBase Note
String 18 Text or text key to show.
MouseOverColor 1
ButtonDownColor —
ButtonDownStyle —
DisabledColor —
DisabledStyle —
MouseOverStyle —
NormalColor —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): ID (22), Style (22), Size (14).

TextControl

XML element: <Label> (curated alias).

31 names
Name Shipped Also on ControlBase Note
String 2807 Text or text key to show.
WrapWidth 825
Color 741 yes Tint colour, as r,g,b,a or a style colour name.
Align 530
FontStyle 397 A named style from the style sheets.
ColorSet 244
Color0 228
SmallCaps 213
SmallCapsType 197
Color1 155
EffectColor 141
FontSize 131
TruncateWidth 114
TruncatedTooltip 73
KerningAdjustment 36
SmallCapsLeading 36
Color2 29
ReduceWidth 19
LeadingOffset 14
TruncateHeight 14
FontEffect 9
GradientColor 7
Rotate 4
AllowSplitWords —
center —
CustomIconScale —
EveryWord —
ForceIME —
ForceNonIME —
GenerateMips —
right —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): Style (3537), ID (2696), Size (224), Text (12).

TutorialControl

XML element: <Tutorial> (curated alias).

2 names
Name Shipped Also on ControlBase Note
TriggerBy 114
AlwaysShow —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): ID (114), Style (114).

TweenControl

XML element: none, this is a base class of other controls (base class (no element of its own)).

5 names
Name Shipped Also on ControlBase Note
Begin —
EndOffset —
opacity —
position —
Start —

WorldAnchorControl

XML element: <WorldAnchor> (curated alias).

5 names
Name Shipped Also on ControlBase Note
Billboard 2
Scaling 2
UnitsPerPixel 2
DepthAdjust —
WorldOffset —

Used 10 or more times on this element in shipped files but not found as a literal in this type's own code (so they are read by shared code, for example ID and Size, or by a parent type): ID (14).