1) As stated above, make sure you have created a C# DLL with the namespace "ExampleMod" and the class "MySubModule".
2) Check that your "customitems.xml", "customcultures.xml", and "customcharacters.xml" files are all present in your "ModuleData" folder.
3) Define the included game types for each of your XML files. Also note you don't need the type attribute, even the native mod doesn't use it. Here's part of my working "SubModule.xml" for example:
Code:
<XmlNode>
<XmlName id="Items" path="CustomItems"/>
<IncludedGameTypes>
<GameType value = "Campaign"/>
<GameType value = "CampaignStoryMode"/>
<GameType value = "CustomGame"/>
</IncludedGameTypes>
</XmlNode>
4) Confirm each XML file is properly written. If any tags or closing tags are missing, or have been accidentally duplicated with copy and paste, it will fail. I suggest commenting out all your XMLs like this:
Code:
<Xmls>
<!--
<XmlNode>
<XmlName type="1" id="Items" path="customitems"/>
</XmlNode>
<XmlNode>
<XmlName type="1" id="SPCultures" path="customcultures"/>
</XmlNode>
<XmlNode>
<XmlName type="1" id="NPCCharacters" path="customcharacters"/>
</XmlNode>
-->
</Xmls>
After commenting them all out, test if the game loads into a new campaign. If it does the problem is in your XML files. Uncomment them one at a time as shown below, and try loading into a new campaign. When it fails you'll know which file has the problem.
Code:
<Xmls>
<XmlNode>
<XmlName type="1" id="Items" path="customitems"/>
</XmlNode>
<!--
<XmlNode>
<XmlName type="1" id="SPCultures" path="customcultures"/>
</XmlNode>
<XmlNode>
<XmlName type="1" id="NPCCharacters" path="customcharacters"/>
</XmlNode>
-->
</Xmls>
Sorry the formatting is all crap. This website is proving to be rubbish at maintaining the code indentation, and it keeps removing it.