Okay, if that is the case then I think what I've already had should have worked. In NewIcons.sql I haveApologies, my previous reply was a little hurried so I didn't really provide the detailed steps.
For buildings, specifically, the icon definitions are handled solely via the NewIcons.sql in the template. The equivalent file in the base-game is Icons_Buildings.xml, which can be found in \Base\Assets\UI\Icons\. The game uses standard naming conventions, which it looks for automatically, that are based on the string that defines the building itself. It's simple a case of prefixing ICON_ in front of the building name (e.g. BUILDING_MONUMENT).
If your building is defined as BUILDING_MYBUILDING, your entry in IconDefinitions (in the NewIcons.sql file) will be ICON_BUILDING_MYBUILDING.
The Icons_Buildings.xml will illustrate how this works most directly - you're just looking to translate an equivalent entry into your NewIcons.sql file (in the template) and things should align.
Code:
INSERT INTO IconTextureAtlases
(Name, IconSize, IconsPerRow, IconsPerColumn, Filename )
VALUES --some lines
('ICON_ATLAS_ETC_BUNKER', 38, 1, 1, 'ColossalHead38.dds' ),
--other sizes
INSERT INTO IconDefinitions
(Name, Atlas, 'Index' )
VALUES --other stuff
('ICON_BUILDING_ETC_BUNKER', 'ICON_ATLAS_ETC_BUNKER', 0 );
Based on what you're saying, the game should recognize that ICONS_BUILDING_ETC_BUNKER goes with BUILDING_ETC_BUNKER? Is there not a line needed somewhere to connect the two? And if not, then I'm not sure why the game is not pulling the textures in because I think that I have done it how you described.