Tutorials
- Tutorial by: Helral (SC2Layout Files Override Method) explains:
- What are Layout Files and how can they help
- How to use custom layout files in your map
- What does the override file look like
- How to adjust the correct frame
- How to move a frame
- How to hide a frame
- How to create an image frame
Blizzard own created UI
Galaxy / Import / Layout / Aiur Chef UI
Pay attention to these points when working with SC2Layout Files
- Use file="GameUI" when adjusting UI elements which are already available.
- Don't forget to add the imported layout files to the "Custom Layout Files" in the "Game UI Data" data type in the Data Editor
- Setting an incorrect Type for a Frame might cause the game to crash untested
- Hiding frames with <Visible val="False" /> only works for frames which aren't adjusted by the game itself. (no effect e.g. on the portrait or inventory)
- Always surround the values with quotes (")
Template for Custom UI Files
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <Desc> </Desc>
Special Terms or Symbols
Asset Reference
Description
when referring to an asset like a texture or perhaps a model you can use this format:
- @@UI/ChatBarBorder = the file mentioned in the Assets.txt with the following paths: "UI/ChatBarBorder_Race" if it can't find that one then it looks for "UI/ChatBarBorder".
Race being dependent on the players race (Prot/Terr/Zerg) - @UI/ChatBarBorder = the file mentioned in the Assets.txt with the following path: "UI/ChatBarBorder". This one doesn't check race specific (unconfirmed)
Assets.txt (patch) is available for download here outdated
Assets.txt (base) is available for download here
Assets.txt (UI) is available for download here
Usage
<Texture val="@@UI/AIButton" layer="0"/>
References
Description
when referring to structural locations you can use the following options:
- $parent = The parent of the object this is listed in.
- $this = The element itself, usefull for reseting anchors.
Constants
Description
if you want to use the same value over and over, but when changing you want to have it easy you can use constants.
Options
name = The name of the constant, when setting a value you can refer to this by using the name and prefixing a "#" to it.
val = The value of the constant, when this constant is uses the value defined here.
Usage
<Constant name="InventoryButtonGap" val="-2"/>
<Anchor side="Right" relative="$parent/Button02" pos="Min" offset="#InventoryButtonGap"/>
Frame object
Frame
Description
an UI panel that is used to display elements inside of.
Options
type
The type of this UI frame (TODO: figure out what this is exactly for)
name
The name of this UI frame, usable for positioning stuff next to it or inside it or for usage as a template.
template
only works for new frames
The optional value if the contents is partially listed at another location, this way you don't have to create the same object over and over if most of the values
stay the same.
file
The file in which the change takes place, usually has the value "GameUI"
Usage
<Frame type="CommandTooltip" name="MyTooltip" template="CommandButton/CommandTooltipTemplate"> </Frame> <Frame type="MinimapPanel" name="GameUI/UIContainer/ConsoleUIContainer/MinimapPanel" file="GameUI"> </Frame>
Frame contents
General Usage
all the content items in this section are used inside a frame markup like this:
<Frame name="myCustomFrame"> <option1 attrib1="1"/> <Visible val="true"/> </Frame>
Visible
Description
Determines if the frame should be visible at the map start.
Options
val = true or false depending on if you want it visible or not
Usage
<Visible val="true" />
Anchor
Description
Used to position a frame.
1 frame can have up to 4 anchors
Options
side
The side of the frame that you will position.
Possible values:
- Top
- Bottom
- Left
- Right
relative
The UI object on which it positions itself
Value setup:
1 or more Terms seperated by a backslash ( / )
Possible Terms:
- $Parent - The parent value of the element
- ChildName - The name of a child element
pos
The start location from where the offset is handled
Possible values:
- Min = the total top/left point of the frame mentioned at relative
- Mid = the middle point of the frame mentioned at relative
- Max = the total bottom/right point of the frame mentioned at relative
offset
Adjustment on the position for better positioning
Decreasing the offset (can become negative) will move the element to the left/top.
Increasing the offset will move the element to the right/bottom.
Usage
<Anchor side="Right" relative="$parent/ContainerPanel00" pos="Max" offset="0"/>
To "remove" an Anchor use this:
<Anchor side='Right' relative="$this" pos="Min" offset="0"/>
replace Right with the side of the Anchor you want to remove.
Height
Description
Sets the Height of the elements.
Overrides auto-calculated height using Anchors.
Options
Val
The height of this element
Usage
Example where the height of a frame named "myCustomFrame" is set to 250.
<Frame name="myCustomFrame"> <Height val="250"/> </Frame>
Width
Description
Sets the Width of the elements.
Overrides auto-calculated width using Anchors.
Options
Val
The width of this element
Usage
Example where the width of a frame named "myCustomFrame" is set to 250.
<Frame name="myCustomFrame"> <Width val="250"/> </Frame>
Texture
Description
Sets the texture for this Frame element. Usually used when the type of the frame is Image.
Options
val
The location or reference for the texture.
see the Asset Reference bit for referencing information.
layer
untested
The layer on which the image is placed. Sometimes you want to combine multiple images onto 1 Frame.
Usage
<Frame type='Image' name='MyBackgroundImage'> <Texture val='Assets\Textures\ui_help_frame_content.dds' layer='0'/> <Texture val='@@UI/StandardOuterBorder' layer='1'/> </Frame>
TextureType
Description
The method used to generate the texture.
Border textures use a different method then normal ones.
Options
val
The method used.
Options:
- Normal: The image is not adjusted in any way for displaying.
- Border: The image is chopped up and put together again as displayed here: Border Texture explained
- None: unknown
- EndCap: unknown
- HorizontalBorder: unknown
layer
The texture on this layer is drawn using this method.
Usage
<Frame type='Image' name='MyBackgroundImage'> <TextureType val='Border' layer='0'/> </Frame>
Copy Example
Description
Options
Usage
Available .SC2Layout files for editing
outdated
if a file is missing in the 1.3 patch list then use the file listed here instead to get the current frame information
The files below are all of Patch 1.2 unless stated otherwise
- Get all the files here. - Rar Archive of SC2Layout files
- AchievementPanel.SC2Layout
- AIFrames.SC2Layout
- AlertPanel.SC2Layout
- AlliancePanel.SC2Layout
- BattleReportPanel.SC2Layout
- BehaviorBar.SC2Layout
- CampaignTemplates.SC2Layout
- CashPanel.SC2Layout
- CharacterSheetPanel.SC2Layout
- ChatBar.SC2Layout
- CommandButton.SC2Layout
- CommandPanel.SC2Layout
- ConsolePanel.SC2Layout
- ControlGroupPanel.SC2Layout
- ConversationPanel.SC2Layout
- EquipmentIcon.SC2Layout
- GameButton.SC2Layout
- GameMenuDialog.SC2Layout
- GameUI.SC2Layout
- HeroPanel.SC2Layout
- InfoPaneCargo.SC2Layout
- InfoPaneGroup.SC2Layout
- InfoPaneHero.SC2Layout
- InfoPanel.SC2Layout
- InfoPaneProgress.SC2Layout
- InfoPaneQueue.SC2Layout
- InfoPaneUnit.SC2Layout
- InventoryPanel.SC2Layout
- LeaderPanel.SC2Layout
- MenuBar.SC2Layout
- MercenaryPanel.SC2Layout
- MessageLogDialog.SC2Layout
- MinimapPanel.SC2Layout
- MissionTimePanel.SC2Layout
- ObjectivePanel.SC2Layout
- ObserverPanel.SC2Layout
- PausePanel.SC2Layout
- PlanetPanel.SC2Layout
- PortraitPanel.SC2Layout
- PurchasePanel.SC2Layout
- ReplayPanel.SC2Layout
- ResearchPanel.SC2Layout
- ResourcePanel.SC2Layout
- ResourceRequestAlertPanel.SC2Layout
- SubtitlePanel.SC2Layout
- SystemAlertPanel.SC2Layout
- SystemInfoPanel.SC2Layout
- TeamResourcePanel.SC2Layout
- TimePanel.SC2Layout
- TriggerDialogFrame.SC2Layout
- TriggerWindowPanel.SC2Layout
- UnitButton.SC2Layout
- UnitWireframe.SC2Layout
- VictoryPanel.SC2Layout
- WaitingForPlayersDialog.SC2Layout
- WaitingForServerDialog.SC2Layout
- WarningTimerPanel.SC2Layout
- WorldTooltip.SC2Layout
| Name | Description | Size | MD5 |
|---|---|---|---|
| AchievementPanel.SC2Layout | &emdash; | 2.2 KiB | c26082bf97ec... |
| AIFrames.SC2Layout | &emdash; | 10.8 KiB | d7d684e854cb... |
| AlertPanel.SC2Layout | &emdash; | 3.5 KiB | 0c34f8af9429... |
| AlliancePanel.SC2Layout | &emdash; | 5.9 KiB | 56aa39af39dd... |
| BattleReportPanel.SC2Layout | &emdash; | 31.7 KiB | bf4c0ae02c60... |
| BehaviorBar.SC2Layout | &emdash; | 519 B | b68630d918d0... |
| CampaignTemplates.SC2Layout | &emdash; | 15.5 KiB | 24f629639932... |
| CashPanel.SC2Layout | &emdash; | 2.3 KiB | bc2907811273... |
| CharacterSheetPanel.SC2Layout | &emdash; | 38.2 KiB | eee28cd55c0d... |
| ChatBar.SC2Layout | &emdash; | 4.6 KiB | aee0fa73cf54... |
| CommandButton.SC2Layout | &emdash; | 4.1 KiB | 0458505df143... |
| CommandPanel.SC2Layout | &emdash; | 6.5 KiB | 96270e1438d6... |
| ControlGroupPanel.SC2Layout | &emdash; | 2.1 KiB | ab7ade92df31... |
| ConversationPanel.SC2Layout | &emdash; | 271 B | 85bcea5a0616... |
| EquipmentIcon.SC2Layout | &emdash; | 1.4 KiB | a4874457aa58... |
| GameButton.SC2Layout | &emdash; | 3.6 KiB | 54f3da718675... |
| GameMenuDialog.SC2Layout | &emdash; | 48.6 KiB | 888f0edbb676... |
| GameUI.SC2Layout | &emdash; | 36.7 KiB | 4109f7bf6683... |
| HeroPanel.SC2Layout | &emdash; | 6.4 KiB | 7c97f3c4c8af... |
| InfoPaneCargo.SC2Layout | &emdash; | 2.5 KiB | 10cea8369b16... |
| InfoPaneGroup.SC2Layout | &emdash; | 1.2 KiB | 3f2d74159a9d... |
| InfoPaneHero.SC2Layout | &emdash; | 5.7 KiB | 27bb938dfb8c... |
| InfoPanel.SC2Layout | &emdash; | 4.7 KiB | d1977bcf2e14... |
| InfoPaneProgress.SC2Layout | &emdash; | 3.6 KiB | 0e62dad84019... |
| InfoPaneQueue.SC2Layout | &emdash; | 6.0 KiB | 960220f3c4bf... |
| InfoPaneUnit.SC2Layout | &emdash; | 2.5 KiB | 1c3fdf2a5b12... |
| InventoryPanel.SC2Layout | &emdash; | 27.1 KiB | f809a671d825... |
| LeaderPanel.SC2Layout | &emdash; | 39.6 KiB | 026630f71437... |
| MenuBar.SC2Layout | &emdash; | 2.9 KiB | 7be2e176b99e... |
| MercenaryPanel.SC2Layout | &emdash; | 20.8 KiB | 854ade123376... |
| MessageLogDialog.SC2Layout | &emdash; | 15.5 KiB | dfd53fb0234f... |
| MinimapPanel.SC2Layout | &emdash; | 5.6 KiB | 1d852898cb2c... |
| MissionTimePanel.SC2Layout | &emdash; | 1.1 KiB | da00a31a3911... |
| ObjectivePanel.SC2Layout | &emdash; | 6.0 KiB | e1cf25f1f51c... |
| ObserverPanel.SC2Layout | &emdash; | 3.8 KiB | cfa0228c702d... |
| PausePanel.SC2Layout | &emdash; | 755 B | c7f61efaacb9... |
| PlanetPanel.SC2Layout | &emdash; | 45.2 KiB | 3162729c1e26... |
| PortraitPanel.SC2Layout | &emdash; | 437 B | dae2cebcb074... |
| PurchasePanel.SC2Layout | &emdash; | 21.0 KiB | 75e5dca8bec6... |
| ReplayPanel.SC2Layout | &emdash; | 13.9 KiB | 63c30539957d... |
| ResearchPanel.SC2Layout | &emdash; | 71.9 KiB | 5a433d01b476... |
| ResourcePanel.SC2Layout | &emdash; | 4.6 KiB | 9630f9126357... |
| ResourceRequestAlertPanel.SC2Layout | &emdash; | 7.6 KiB | 11854efd3774... |
| SubtitlePanel.SC2Layout | &emdash; | 2.0 KiB | 00d093170d75... |
| SystemAlertPanel.SC2Layout | &emdash; | 3.3 KiB | 44b123593907... |
| SystemInfoPanel.SC2Layout | &emdash; | 5.3 KiB | b5a9792063ff... |
| TeamResourcePanel.SC2Layout | &emdash; | 18.5 KiB | 57c02697b07f... |
| TimePanel.SC2Layout | &emdash; | 933 B | 653e48bcd410... |
| TriggerDialogFrame.SC2Layout | &emdash; | 8.1 KiB | 7c79b8c71caf... |
| TriggerWindowPanel.SC2Layout | &emdash; | 6.7 KiB | b059ef1c0453... |
| UnitButton.SC2Layout | &emdash; | 145 B | 05ca264afb4e... |
| UnitWireframe.SC2Layout | &emdash; | 192 B | 2729528096db... |
| VictoryPanel.SC2Layout | &emdash; | 17.2 KiB | 465ac954fa09... |
| WaitingForPlayersDialog.SC2Layout | &emdash; | 9.7 KiB | df901208675c... |
| WaitingForServerDialog.SC2Layout | &emdash; | 1.6 KiB | 6fd26c055a40... |
| WarningTimerPanel.SC2Layout | &emdash; | 959 B | fb9cb7b8c631... |
| WorldTooltip.SC2Layout | &emdash; | 843 B | dac473ecc426... |
| ConsolePanel.SC2Layout | &emdash; | 2.9 KiB | 087211509c4d... |
| UI.rar | Patch 1.3.0 UI | 54.6 KiB | ce049461904d... |