Content Validation: Warnings are Not Errors

By Shaine Bennett, July 19 2013

There has been a lot of discussion in the Trainz community about the various warnings that Content Manager will log as part of the Content Validation process. Some members of the community appear to be under the impression that Warnings are to be treated as Errors – and need to be solved. This is not the case.

Content Manager will generate warnings for a piece of content if it has detected an indication that there is a better way to achieve the desired result from a piece of content. Remember that warnings are not errors, and they do not have to be solved.

If you are using content that is already released, then you should completely ignore all warnings. They are not a serious enough problem to stop a piece of content working in-game, and attempting to solve them can often cause bigger problems.

If you are updating an old asset and intend to release it on the DLS, you will need to address a couple of specific warnings. Whether you address the rest is up to you. Weigh up how difficult it is to fix them (properly, not just hide the message), versus the potential gain from doing so.

If you are making a new asset, you should really address the issues that CM brings up as warnings; but even then, note that it is not strictly necessary to do so.

A few specific warnings have been discussed at length in the community recently:

Warning: This asset uses an obsolete trainz-build number. Trainz-build numbers below 2.9 are no longer supported.

This is just telling you the asset is built to old standards.

If the asset works fine in game, is already on the Download Station, has no errors listed, but has this (and maybe other) warnings, then the asset is fine. Please ignore the warning report, and move on to something else.

This warning only matters if you intend to upload the asset to the DLS. The DLS won't accept asset uploads using versions below a certain level, currently 2.9. Be aware that updating an older asset to a build number above 2.9 can require significant changes to the structure of the asset, so this is not something to do lightly.

In particular, a spline asset will require large changes to the mesh source. This may include dividing or combining spline components into different meshes, changing the way the parts are laid out in the mesh files, and the creation of LOD levels. Given the amount of work involved, it may actually make more sense to build new art and make a new asset to replace the old asset, rather than merely updating the old asset.

Warning: The texture 'black.tga' is a uniform color.

If you have a texture that generates the 'uniform color' warning, it is telling you that you are using the wrong material type, as you have a texture in use that you aren't using to any advantage and don't actually need.

If this is your asset you are creating, then check the list of material types on the TrainzDev Wiki, and either pick a more appropriate type, or make better use of the one you are using.

It is entirely reasonable to use an *.m.notex material type for things that don't benefit from a non-uniform texture, e.g. shadow volumes, collision meshes, and so on.

Do note that introducing a single slightly different shade pixel to "trick" the warning into going away isn't actually solving the problem. You still have an inefficient asset that is using more textures than it needs. All you've succeeded in doing is hiding the message telling you of this problem.