Adding in Custom Icons

Hajee

Prince
Joined
Nov 4, 2014
Messages
342
To add in new custom Icons:

1) In the modfile.xml you need to use the Importfile tag line

Code:
<Settings>
       <ImportFiles id="New_dds_Setting">
            <Items>New_dds</Items>
       </ImportFiles>     
 </Settings>

<Components>
<ImportFiles id="New_dds">
      <Items>
            <File>Haj1Tech30.dds</File>
            <File>Haj1Tech38.dds</File>
            <File>Haj1Tech42.dds</File>
            <File>Haj1Tech42_FOW.dds</File>
            <File>Haj1Tech128.dds</File>
            <File>Haj1Tech160.dds</File>
       </Items>
</ImportFiles>     
</Components>
   <Files>
       <File>Haj1Tech30.dds</File>
       <File>Haj1Tech38.dds</File>
       <File>Haj1Tech42.dds</File>
       <File>Haj1Tech42_FOW.dds</File>
       <File>Haj1Tech128.dds</File>
       <File>Haj1Tech160.dds</File>
<Files>

This will load the dds with the mod.
30 I beleive is the icon for the boost UI
38 Unsure
42 is the Icon when looking at the Tree
128 is the Icon for after you research the tech
160 is the Civipidia




Next we need a Icon file for the base game file. This must be done in the base game because the database wont update Icons:
You can make a new file or Replace the current Icon_Tech file.

C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization VI\Base\Assets\UI\Icons\

Code:
<GameInfo>
  <IconTextureAtlases>
    <Row Name="ICON_NEW_TECH" IconSize="160" IconsPerRow="8" IconsPerColumn="8" Filename="Haj1Tech160.dds"/>
    <Row Name="ICON_NEW_TECH" IconSize="128" IconsPerRow="8" IconsPerColumn="8" Filename="Haj1Tech128.dds"/>
    <Row Name="ICON_NEW_TECH" IconSize="38" IconsPerRow="8" IconsPerColumn="8" Filename="Haj1Tech38.dds"/>
    <Row Name="ICON_NEW_TECH" IconSize="42" IconsPerRow="8" IconsPerColumn="8" Filename="Haj1Tech42.dds"/>
    <Row Name="ICON_NEW_TECH_FOW" IconSize="42" IconsPerRow="8" IconsPerColumn="8" Filename="Haj1Tech42_FOW.dds"/>
    <Row Name="ICON_NEW_TECH" IconSize="30" IconsPerRow="8" IconsPerColumn="8" Filename="Haj1Tech30.dds"/>
  </IconTextureAtlases>
 
  <IconDefinitions>
    <Row Name="ICON_TECH_Burial_Rites" Index="0" Atlas="ICON_NEW_TECH"/>
    <Row Name="ICON_TECH_Burial_Rites_FOW" Index="0" Atlas="ICON_NEW_TECH_FOW"/>
  </IconDefinitions>
 
 </GameInfo>

Do note this I only tested with Techs, but in theory works with buildings/Unit Icons as well

Spoiler Photos :







Special Thanks to Horem for helping learn to mod, and Drityface83 for making the art work, and listening to me wine for 4 hours of teamspeak well we tied and failed for four hours to get this to work
 
Last edited:
Note to all our posterity readers: portions of this comment were invalidated by the Winter 2106/7 patch.

I suspect you will find the IconDefinitions column you are adding to the Technologies table is not necessary.

The game is relying on character-string matching to "hook" icons to game-elements.
Code:
	<Buildings>
		<Row BuildingType="BUILDING_BATHHOUSE" Name="LOC_BUILDING_BATHHOUSE_NAME" PrereqTech="TECH_ENGINEERING"
			PrereqDistrict="DISTRICT_AQUEDUCT" PurchaseYield="YIELD_GOLD" Cost="155" AdvisorType="ADVISOR_CULTURE" Housing="1" Maintenance="2"/>
and
Code:
<GameInfo>
  <IconTextureAtlases>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="32" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas32.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="38" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas38.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="50" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas50.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="80" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas80.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="128" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas128.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="256" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas256.dds"/>

    <Row Name="ICON_ATLAS_ANNO_BUILDINGS_FOW" IconSize="256" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas256.dds"/>
  </IconTextureAtlases>
  <IconDefinitions>
    <Row Name="ICON_BUILDING_BATHHOUSE"           		Atlas="ICON_ATLAS_ANNO_BUILDINGS" Index="45"/>
    <Row Name="ICON_BUILDING_BATHHOUSE_FOW" 	      		Atlas="ICON_ATLAS_ANNO_BUILDINGS_FOW" Index="45"/>
  </IconDefinitions>
</GameInfo>
This makes Rob's Icon#45 show ingame for the "Bathhouse" building.

disclosure: I stole the Icons and dds files from @Rob (R8XFT) from his Anno Domini for civ6 and his Bathhouse Building in order to play around and test.

I also threw his icon files into a mod I placed in the game's DLC folder so the icons and atlases would always be available regardless of whether I was running the mod that uses the Bathhouse.
Code:
<Mod id="17462E0F-1EE1-4819-A44A-052ROBSARTSA" version="1">
	<Properties>
		<Name>RobsAnnoArt</Name>
		<Teaser>RobsAnnoArt</Teaser>
		<Description>RobsAnnoArt</Description>
		<Authors>LeeS</Authors>
		<ShowInBrowser>AlwaysHidden</ShowInBrowser>
		<EnabledByDefault>1</EnabledByDefault>
		<EnabledAtStartup>1</EnabledAtStartup>
	</Properties>
	<Files>
		<File>AnnoBuildings01Atlas256.dds</File>
		<File>AnnoBuildings01Atlas128.dds</File>
       		<File>AnnoBuildings01Atlas80.dds</File>
		<File>AnnoBuildings01Atlas50.dds</File>
		<File>AnnoBuildings01Atlas38.dds</File>
       		<File>AnnoBuildings01Atlas32.dds</File>
	</Files>
	<Components>
		<ImportFiles id="ROBSARTSA_IMPORT">
           		<Items>
				<File>AnnoBuildings01Atlas256.dds</File>
				<File>AnnoBuildings01Atlas128.dds</File>
       				<File>AnnoBuildings01Atlas80.dds</File>
				<File>AnnoBuildings01Atlas50.dds</File>
				<File>AnnoBuildings01Atlas38.dds</File>
       				<File>AnnoBuildings01Atlas32.dds</File>
            		</Items>
        	</ImportFiles>
	</Components>
</Mod>
 
Last edited:
I suspect you will find the IconDefinitions column you are adding to the Technologies table is not necessary.

really?, without the added IconDefinitions column it would not load for me. That part alone took me a good hour to figure out I need that

edit:

So yes you dont, just retested that.

When I added the line in, I was using the edit civ6.dep and adding the dds in the base game files.

So I assumed you would need it for the modinfo method.

Thank you for pointing that out, updated the OP

edit 2:

Wow I just looked at that Mod Anno...Wish I looked at it before hand to see he already used importfile. that would have saved me alot of time trying to do this to find it out myself
 
Last edited:
Note to all our posterity readers: this comment was invalidated by the Winter 2106/7 patch.

In case anyone misunderstands, this bit still has to be added into an existing base-game "Icons" file within the C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization VI\Base\Assets\UI\Icons folder, as originally mentioned in the OP. No one has found a way to work around that as yet to my knowledge:
Code:
  <IconTextureAtlases>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="32" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas32.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="38" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas38.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="50" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas50.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="80" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas80.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="128" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas128.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="256" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas256.dds"/>

    <Row Name="ICON_ATLAS_ANNO_BUILDINGS_FOW" IconSize="256" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas256.dds"/>
  </IconTextureAtlases>
  <IconDefinitions>
    <Row Name="ICON_BUILDING_BATHHOUSE"           		Atlas="ICON_ATLAS_ANNO_BUILDINGS" Index="45"/>
    <Row Name="ICON_BUILDING_BATHHOUSE_FOW" 	      		Atlas="ICON_ATLAS_ANNO_BUILDINGS_FOW" Index="45"/>
  </IconDefinitions>
I added this bit as shown to the Icons_Wonders.xml file because most of the stuff Rob is adding is wonders and I wanted to experiment around with those as well.
 
Last edited:
We can add custom art icons now?

are the actual art files in the same format as CIv 5? (.dds file, layout, sizes ect)
 
We can add custom art icons now?

are the actual art files in the same format as CIv 5? (.dds file, layout, sizes ect)

Yes we can. In the OP I wrote a guide of how to do so with atleast for the tech icons what the sizes do
 
We can add custom art icons now?
Yes but ...
If you read the posts from Hajee and LeeS you'll see that you need to edit some base-game xml files so it's currently not possible to do it entirely within a mod.
This would make maintaining multiple mods with custom art a nightmare without some sort of auto-patcher tool to write the required changes for you and there is always a risk of those changes being over-written by a Civ6 patch (or if the user verify the game files through steam).

Better than nothing, but far from perfect.
are the actual art files in the same format as CIv 5? (.dds file, layout, sizes ect)
actual files are in the blp files within base/platform/windows/blp (assuming a windows version) and currently we have no way of opening those. They are Firaxis custom format and the blp editors made for Blizzard products won't work on those.
Obviously you can add your own art in plain old dds files (probably the same as civ5 as Anno Domini was ported pretty fast) however you can't extract existing icons.
 
Last edited:
Are there any mods out that add civilization or leader icons? My own attempts have not worked so far.

Additionally, are the leader and civilization icon files in Civ VI formatted the same as in Civ V? If so, where are they located in the Civ V directory? I know they are in a .fpk file, but I can't figure out which one?

Also, is there anything special that would need to be included for new civ and leader icons to show up in the game setup menu as opposed to just in the main game?
 
@Hajee could you please elaborate on
the database wont update Icons
?

Is that because there's no SQL script that automatically updates the table from the same lines in mod xml files?

Or is it because the following approach (I'm assuming inserts can be done as well, but I haven't found an example yet) won't work on the icons?

<Improvements>
<Update>
<Where ImprovementType="IMPROVEMENT_ZIGGURAT"/>
<Set Housing="1" TilesRequired="2"/>​
</Update>​
</Improvements>
 
In case anyone misunderstands, this bit still has to be added into an existing base-game "Icons" file within the C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization VI\Base\Assets\UI\Icons folder, as originally mentioned in the OP. No one has found a way to work around that as yet to my knowledge:
Code:
  <IconTextureAtlases>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="32" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas32.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="38" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas38.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="50" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas50.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="80" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas80.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="128" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas128.dds"/>
    <Row Name="ICON_ATLAS_ANNO_BUILDINGS" IconSize="256" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas256.dds"/>

    <Row Name="ICON_ATLAS_ANNO_BUILDINGS_FOW" IconSize="256" IconsPerRow="8" IconsPerColumn="8" Filename="AnnoBuildings01Atlas256.dds"/>
  </IconTextureAtlases>
  <IconDefinitions>
    <Row Name="ICON_BUILDING_BATHHOUSE"                   Atlas="ICON_ATLAS_ANNO_BUILDINGS" Index="45"/>
    <Row Name="ICON_BUILDING_BATHHOUSE_FOW"                   Atlas="ICON_ATLAS_ANNO_BUILDINGS_FOW" Index="45"/>
  </IconDefinitions>
I added this bit as shown to the Icons_Wonders.xml file because most of the stuff Rob is adding is wonders and I wanted to experiment around with those as well.

I'm not sure what you're saying here. Are you saying no one has been able to add new icons without modifying base game files? Because I've got numerous mods up that add new icon art without doing anything special at all. You can run an <UpdateIcons> Command just like <UpdateDatabase> and in it put a file that defines the texture atlases and icon definitions. Unless I'm misunderstanding what you're saying...
 
Top Bottom