Currently each unit that I have created a custom ID for turns into a hero; it’s pretty neat not sure if it’s supposed to happen though; all the custom characters that I let autofill ID do not do this.
This is based on capitalization. H000 is a hero, h000 is a unit. That remains true even if H000 is a copy of the Scout Tower and h000 is a copy of Archimonde. By default, the game handles this automatically. For any given unit, there is no other “hero” or “nonhero” setting stored. That setting is wholly and completely determined by capitalization. So the “suggested” 4 letter code will “suggest” the same capitalization as the parent unit.
Edit: This isn’t new, only the built-in way to choose the Unit ID is new. You can always use a separate program to change this capitalization to make a hero from a nonhero, or vise versa. That has been true since 2002
it is a useful mechanic because it makes it easy to create heroes.