Trainz/AM&C/Fixing Assets

From Wikibooks, open books for an open world
Jump to: navigation, search

Trainz Asset Maintenance and Creation

Trainz Annotated Reference Pages
Trainz | Introductory Trainz  | Trainz AM&C | Creation | Appendixes  |  References  • Containers • Kinds • Tags • Index • Grps • Vers
 Mouse use
Contributing author: The Yesterdayz-Trainz group

If you begin exploring Trainz as a building tool, crafting or modifying a route, or venture boldly forth onto the DLS and acquire one of the 2500+ routes uploaded in the last decade— you will indubitably end up facing the learning curve of 'fixing assets'. If you are going to make headway fixing assets, you will need to understand where to look things up. The Hierarchy Of Assets and config.txt files Asset fixing is something of a misnomer except in rare cases—most widely used assets need fixing by updating to new technology levels—because they have become out of date relative to updates in the game engine's data needs. Alas, there are some actual errors in downloadable content from not only the DLS but from otherwise reputable 3rd party content creators such as Mocrossing pack (zip file) pack—the fixing of which is covered in a forthcoming tutorial. Many times these are simple typos, some are misspellings (not every contributor speaks English as a native tongue, nor as their first language) and pre-TS08 error checking was far more lenient... leading to the fatal crash of Trainz or worse, Blue Screen of Death errors.



Some small numbers of "Bad Assets" can (with decreasing frequency of occurrences thanks to the systematic efforts to 'Clean Up the DLS'), and when these are found in a route many of their ills can also be fixed. Most can be graded as misuse of key words, and misspellings, missing quotes and the like. Minor repairs anyone can fix with a text editor like Notepad or Notepad++. An occasional asset will be missing a component—either a texture or a mesh (the wire frame which gets 'decorated' by textures to make a virtual object. The one is a surface, the other the skeleton of the underlying shape.) By far the majority of these have shown themselves susceptible to easy fixes by adjustment of file pathspecs, installation of a newer container style data structure in the config.txt file or adjusting file folder contents (e.g. pre-V2.4 processing of assets were able to look up and down for a primary texture or mesh (im) file which processing was abandoned in TS2009 and above) by copying up or down relevant files into the necessary folder.

Various techniques have been adopted requiring different data, or a difference in the way data is organized. Most of these changes are handled automatically within the software. When they cannot be, they generate an error, a good thing. Having an error appear in an asset is far better than having a flaw in an asset create a program crash—an all-too-frequent occurrence in the early days of TRS2006 when the first elevated measure of basic error testing was built into the CMP software with its Service Pack 1.


Acquiring and Installing PEVs tools[edit]

PEVs tools in a power-users C:\Downloads folder (Yours will likely be somewhere else).

PEV's tools will be maintained by the community on one website or another as they are invaluable. Peter Villaume (PEV) is a really talented programmer (engineer, actually) situated on the opposite (or Sydney) side of Australia from N3V & Auran Holding's small town location on the Gold Coast near Brisbane, but ceased hosting his tools on his own website in mid-2013 when the task was taken over by Trainz forum guru Shane Turner on his help site here.

P train grey.png
Shane Turner also hosts a number of question and answer threads on the Auran forums, and contributes here and the N3V wiki, plus is putting together a tutorial series on his own website. As the old guard initial Trainzers fade away more an more, newer enthusiasts like Shane are stepping up renewing the Trainz spirit of helping one another as a community. Shane, being, young, energetic and enthusiastic, very technically astute and a Trainzer of no mean expertise, Shane's contributions have and promise to continue to benefit all of us for a long time to come. Subscribing and purusing his threads and web boards and news letters promise any new Trainzer to me very worth the time. And he answers questions daily! Kudos, Shane. We need more like you.
  1. Locate PEVs tools on Shane's site and their accompanying .pdf file manuals where given.
  2. See Setting up PEVtools for a procedure and tips on where to put things.
  3. See PEVtools for some operating tips, tutorial links, and advanced setup in a local installation. Tips and tricks of useful time savers will be found there as well.
  4. While new to error fixing, set up an 'editing2_unchanged' folder in your \UserData or \UserData\editing folder, and routinely copy assets there before attempting any changes.
    1. This is a safety net just in case things seem to blow up... a way to restart when one error turns alarmingly into a list of 30...
    2. Or better yet, a way to have an original and changed copy you can use Kdiff3 to compare and let it show you where you mangled a nested '}' or added an extra quote-mark, or made some other typo that caused such parsing issue.
       • (Take a deep breath and relax, that sort of list of errors isn't real, just some punctuation somewhere needs fixed.)


P train grey.png
If you're just starting with Trainz the attractions of the Download Station can be beguiling.
  1. Throttle your covetous side and only download in small increments, clear the errors in such as you've acquired, then move onto more greed. Having a lot of errors just confuses YOU and Content Manager, so small steps for your own sake.
  2. Suggest you initially download only by selecting Sessions, which have Routes as dependencies. CM will populate the dependencies, and a single selection can suddenly find itself swelling to over 800 assets! That will happen to you as it does to us all!
  3. If you want some practice error fixing, select some older routes of the V2.5-v2.8 vintage, where you'll find a few. Then work back into older content v2.0-v2.4 and then v1.3-v1.5 as well. Many a recent route and session will include older content, so working back that way will give experience where you need it in managable doses, and such older assets as make it to newer routes are gems that have stood the test of time. (There are a fair number of 'less than professional grade' assets in older Trainz as many a content creating tyro added stuff that would have been better left unshared. You've been warned!


Part II
  1. Spend some time on the forums LURKING and observing. Use google's site searching feature to find entries about most any topic or question you might ask. ( "question text keywords"). That works on this site as well!
  2. Once you've learned to walk through some 10-20 errors and seen how repetitively they can be, find the Asset-X FAQ on the forum and subscribe, and start gradually working on that learning curve while regularly, steadily, fixing any additional faulty assets that come your way.
    1. Much of the How-to with Asset-X is in the Windows style help file built into the product. This can be read directly in the folder, or by Loading Asset-X and clicking on Help.
  3. Before doing so, you must have a understanding of the basic Trainz data model configurations, and fixing 20-30 errors the long way with PEV tools and an engaged brain will give you enough of a start on understanding the various forms of the Trainz evolved data models, and perhaps mastery enough of they way they interplay and differ to fly Asset-X with ability to spot when something may be wrong.
  4. Also, it is a really good idea to set up a side folder of example asset types and fill it in with copies of things you had to edit, but fixed up so they pass without even warnings. These can be compared to others of the kind, and keep you from getting stuck. That exercise will stand you in good base knowledge, and build confidence giving future asset patching much greater speed. In the end, you'll be way ahead on time save building good base knowledge of How to fix faults.

List of one-to-one replacements[edit]

  1. Engine spec <kuid:35837:51002> can be replaced by <kuid:44090:51016>

Content Manager Warning Messages[edit]

and what to do about them...

Content Manager validates assets when they are committed, and also includes an option to display the errors and warning for any installed asset. Below are set out some of the error messages that CM will display when it validates an asset, with a brief description. This list is based on CM v3.7, but also includes some errors that are only generated by the N3V upload validation process.

The notation <text> in this list means that the text varies according to the details of the asset.

Warning: Aliased meshes cannot currently be verified by Trainz.[edit]

The asset does not contain its own mesh but refers to another asset as the source of the mesh. This aliasing is sometimes used to create a new asset that differs from an existing asset only in the images used to render the model (also known as 'reskinning'). This is the technique used by the Trainz UTC-TRS2004-era utility Paintshed.

CM does not validate that other asset as part of the process of validating this asset, and therefore this asset cannot be confirmed as error free. This asset might not work in game even though it is listed as available. Generally, however, such assets are fine and the warning does not indicate that there will a problem with using the asset.

Warning: Required tag '<tag name>' was missing and has been set to default.[edit]

The tag should be added to config.txt with a suitable value.

Examples from an deliberately abused thumbnails container
  • Warning: Required tag 'height' was missing and has been set to default.
  • Warning: Required tag 'width' was missing and has been set to default.

The source line which gave these errors (testing if they could be put 'all on one line')

thumbnails { A { image "$screenshot (256).jpg" } } (The Answer was 'Yes")

Warning: This asset uses an obsolete trainz-build number.[edit]

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

The validation tests applied to an asset depend on the asset's build number. This message is indicating that the asset is considered obsolete and therefore the latest standards have not been applied.

This message is a warning - the asset will still work (unless there are errors). The warning can be removed by changing the build number but this will likely create new errors as the asset is validated against the later build standard. The build number should only be changed to remove this error if you are prepared to make all the other changes required to update the asset to the higher build number.

Warning: Tag '<tag name>' in the container '<container name>' is obsolete.[edit]

That tag is no longer supported and will be ignored.

  • It is possible that the tag function has been replaced by a container, as in the case of the tags 'category-era-nn' which are (somewhat confusingly) replaced by the 'simpler' string array container 'category-era', or similarly, the category-region tag tag (array) replacing multiple 'category-region-NN tags. (This note is applicable to the TrainzBaseSpec 'container' and such free-standing tags that formerly were parts of config.txt file (See category Config Tags for such tags given expanded coverage over and above Kind or TBS explanations. The category is present both here an on the N3V Wiki.)

  To fix up and quiet this sort of warning:

Examine the container specification here or in the N3V Wiki to see if there is a replacement syntax. Most times the offending tag can be given single quotes replacing the doubles and moved into the description tag text. In such cases the tag is now handled by default processing and unnecessary to current technology Trainz releases.

Warning: Required container 'thumbnails' is missing.[edit]

A thumbnails container should be added to config.txt

Warning: This asset requires a shadow mesh, but the mesh table does not contain one.[edit]

A shadow mesh should be created for the asset and the mesh table updated.

Warning: The texture '<texture name>' is a uniform color.[edit]

Uniform textures should not be used for new assets, but for older assets that would require a change to the mesh. In this case the textures should be resized to 4x4, or at least one pixel changed to a varying colour (however slight the variation). Large uniform textures are a waste of resources: do not adjust the image colour to avoid the warning without also resizing it to a suitable small size - 16x16 or smaller.

It has been reported that this warning is not generated if the image is less than 64x64, but this does not appear to be the case for Build 61388. A single pixel difference is enough to eliminate the warning.

Warning: An asset must be specified for tag 'texture-kuid'.[edit]

The texture-kuid tag is used by some containers (eg, a corona effect container) to reference a texture name. If it is used, the texture name should be specified.

This error often occurs with assets where the texture is controlled by scripting code. In this case, any texture can be nominated for the tag, as the script will update it as soon as it executes.

Warning: Progressive meshes are no longer supported by Trainz[edit]

Warning: Progressive meshes are no longer supported by Trainz. Though these meshes may work in Trainz, it is recommended that you switch to a LOD mesh. Warning: Progressive meshes are no longer supported by Trainz. Though these meshes may work in Trainz, it is recommended that you switch to a IM mesh. (Until 2008's publication of TC3 introduced the LOD technology.)

Progressive meshes (.pm) can be converted to a single Indexed mesh (.im) using the PEVtools utilities.

  • There is no tool available that can convert a progressive mesh file to the multi-LOD .lm files format. Such a conversion would be done manually by copying the model and simplifying it to create multiple versions - typically, four meshes with progressively fewer and fewer polygons. This is not possible for repaired assets where the original model for the mesh is not available.

Warning: Indexed meshes are not supported for traincars as of trainz-build 3.8[edit]

Warning: Indexed meshes are not supported for traincars as of trainz-build 3.8. It is recommended that you upgrade <> to a LOD mesh

For traincars with a build level of 3.8 or higher the mesh must be set up as a LOD mesh or it will not be accepted for uploading. LOD meshes were introduced in Trainz TRS2004 (1st published in 2003), and consist of multiple indexed meshes which use fewer polygons as the object viewing distance increases. This helps ease processing load on the main CPU and shifts the load onto the GPU (GPU). This requirement does not apply to traincars built to a lower build level, but it is an recommended upgrade for all assets at any build level of 2.9 and above.

This warning will be an error if the asset is a traincar with a build level of 3.8 (Trainz MAC-II, and TANE) or higher that does not have a LOD mesh.

Warning: <value> is not a valid value for tag '<tag-name>'. This tag is now empty and a new value must be selected.[edit]

Actual example
"Warning: 'US ' is not a valid value for tag 'category-region'. This tag is now empty and a new value must be selected."
Note the distinction of Warning: 'US ' is and Warning: 'US ' is and delete the illegal 'Trailing space' inside the value per Permitted characters.



Content Manager Error Messages[edit]

Acquiring assets means running a gauntlet of error in older content, and these faults can usually be fixed with a series of simple edit changes and PEVtools. This is a guideline to do such, and why such and such an error is occurring. AssetX and TARDIS scripts can be used to automate fixing many of these.

See Setting up PEVtools for some useful tricks and methods.


Error: This asset has a trainz-build number which is not recognised by this tool.[edit]

You have downloaded an asset with a trainz-build tag (TB) value too high for your content manager and version.
  • Most such content can be retrograded simply by decreasing the TB value to your version.
  • Sometimes such new assets or versions may have new tags or containers not found in older Trainz data models, so need further adjustment to take out a new mandatory specification tag and fall back to relying on a 'former default mode'. See for example Part III (next below).
  • These might often be corrected by deleting the offending line.


Error: The Tag '<text>' is not permitted within a container of type <container-name>[edit]

Part I[edit]

These errors are directly caused by (now) illegal tags containing what is now supposed to be put into the descriptions container. Fix is to identify the start of the problem, SAR for double-quotes ( " ) and either replace with single quotes, space, or nothing. Once the last error message line has been passed, Select, and drag to highlight the lot using CTRL-X to Cut the errant text, with the intent to move the now defanged lines into the description container. Paste the moving Cut-buffer (lines) low down inside the description double-quotes, copy edit, Save, and retest. Tip:

  • Staying inside the config file when validating errors is a good practice!
The following actual error messages
are quite often duplicated 'as a group' in a ton-a-bunch of paintshed tagged reskin cars using the alias tag to reference an external mesh.
  • The "(Container type 'traincar')" message may or may not evince, depending upon the version of Content Manager parsing the config and validating the content's errors. This example is TS2009-SP2's CM-2.0 validation.


  1. Error: The tag 'capacity:' is not permitted within this container. (Container type 'traincar')
  2. Error: The tag 'height:' is not permitted within this container. (Container type 'traincar')
  3. Error: The tag 'length:' is not permitted within this container. (Container type 'traincar')
  4. Error: The tag 'weight:' is not permitted within this container. (Container type 'traincar')
  5. Error: The tag 'wheelbase:' is not permitted within this container. (Container type 'traincar')
  6. Error: The tag 'width:' is not permitted within this container. (Container type 'traincar')

Part II[edit]

This mysterious message, common and often seen in older content, is not because of '?' (?, searching for '?' won't find such!) but because of the underscores (___) left behind by GMAX or another utility antedating TRS2004 (which content does not show this problem) which created the page.
"Error: The tag 'image' in '0' must have an image file extension." Another easy to fix error. The screenshot above gave it twice, but also illustrates the placeholder parameter (dummy tags or dummy keyword can be just about anything.
Try and remember that when you start creating your own assets. Not all names are equal, unless they are placeholders.

Case I:

  • 'Error: The Tag '?' is not permitted within a container of type 'engine'.'


This mysterious message, common and often seen in older content, is not because of '?' (?, searching for '?' won't find such in the config.txt file!) but because of the underscores (___) left behind by GMAX or another utility antedating TRS2004 (which content does not show this problem) which created the page.
  • This one crops up in older v1.3 content, especially engines. Delete the line(s) with underscores. These are said to be GMAX artifacts, which occurs a lot in early Trainz Content.

Fix: Refer to the text of the image at right, this is likely two underscore characters on line#2, which should just be deleted.  

case II: For example, it may be a simple spelling mistake:

  • 'Error: The Tag 'discription' is not permitted within a container of type... '

so correct the spelling to 'description'.

P train grey.png
Asset definitions are not programming, but they are code, and spelling or other deviations from expectations are likely to generate error messages, as in this case.


case III, tags no longer in the specification:

  • 'Error: The Tag 'origin' is not permitted within this container.'


The tag was correct in an older build but is not permitted for the current build.

The Fix: Delete the line. (Consult the list of obsolescent Config tags documented here in the Wikibook. These are the most common cases (scenery and trackside objects have large populations. However, other containers, KINDs, and sub-containers have had small numbers of data model changes since V2.8 (TC3).  

Part III[edit]

Ironically, this case is the converse of the above, New tags not found in older versions!

N3V is a small company and sometimes does things which would not be found as a practice in a larger firm where more people review a procedure, or at least are around to comment that such and such will cause this or that worse problem. In other cases the asset was missed in the dependencies of the retail release JA files, where some anomalous assets can be given a pass from normal error testing 3rd party (user generated) assets must clear. (Yes, in other words, N3V cheats in JAs, as cloning an asset will often show--many are missing parameters called faults in uploaded assets!) In other cases those who know the ins-and-outs miss the implications because they are focused on the software rendering and behavior, not on the impact on the user community, assuming if it passes in-house testing, it is in spec. Not so joe.

  • To add insult to injury, N3V (sort for author 'Auran' in CM and see!) doesn't use it's own kuid/kuid2 system which would often also eliminate this type of fault message, given a properly assigned Trainz-build tag, which likewise, they sometimes don't update either. The direct proximal cause of this first pair of examples.
This group is/are one of those situations.
Note: It is implicit in the above statement that this grouping is expected to have other occurrences with other keywords other than those documented here now:

Actual error messages, despite the fact these tags are in fact part of KIND Enginesound:

Error: The Tag 'engine-sound-ramp-up-durations' is not permitted within a container of type 'enginesound'.
Error: The Tag 'engine-sound-ramp-down-durations' is not permitted within a container of type 'enginesound'.

These error messages occur in each of TS09, TS10 and TS12 when imported. The key to this one is to read the fine print, and examine the history of the reference page.

  • These are both new tags and parameters, formerly fulfilled by a one-size-fits-all default implementation, but the 'user Auran' (One Trainz ID is "-25", whose carelessness has done a number of problem causing upgrades to assets for N3V's TS09-TS12 release.) did not update the trainz-build (letting, in 'this case', the TB default to v1.3!) while adding the inappropriate keywords (Tags) to an asset missing in the built-ins in releases TS09—TS12 inclusive.
  • The error accordingly occurs in each because of no trainz-build tag!


  • The config for TS12 was fixed by adding trainz-build 3.6
  • The config for TS09 & TS10 was fixed by adding trainz-build 2.3 and moving the two tag lines (An array parameter containing comma delimited floating point values) into the description data... in effect deleting the lines.


Error: The tag 'image' in '<subcontainer name>' must have an image file extension.[edit]

real examples
Error: The tag 'image' in '1' must have an image file extension.
Error: The tag 'image' in 'c' must have an image file extension.
  • For some containers, the image tag must have a value that can be resolved to an image file. The expected image file may be a texture file (in which case the texture should be converted to an image and tag updated) or it might be an image file with the extension bmp, tga or jpg.

This error might be caused by a simple spelling mistake or a missing filename. Or, the value might be a reference to texture.txt file, as in the image at right, instead of the image file itself (for those containers where a texture.txt file is not supported).

BAD     image   "filepathspec\filename.texture.txt"
GOOD    image   "filepathspec\filename.texture"

Note that this error may occur in conjunction with other errors concerning a failure to find or load the image file.

Error: Filename '<filename>' contains illegal characters[edit]

  • Example: Error: Filename '$hirsch-tga_converted (512^2).jpg' contains illegal characters
Remove the offending hat-character by editing both the reference and the filename— this character is not permitted in file names. Note that the filename may be flagged as invalid for Trainz even though it is valid for your operating system - this is because Trainz is designed to run on multiple platforms.

Error: Tag '<tag-name>' in the container '<kind>' is obsolete.[edit]

These three faults Frequently found together
these messages occur after assets are upgraded to V2.9 and above (TS09 Trainz and versions after).
  • Error: Tag 'region' in the container 'scenery' is obsolete.
  • Error: Tag 'type' in the container 'scenery' is obsolete.
  • Error: Tag 'asset-filename' in the container 'scenery' is obsolete.

If a trainz-build tag is under V2.9 then these three deprecated tags present a Warning instead. The asset can be brought into compliance by deleting the tag from config.txt.

Error: Could not commit <'asset_username'>. The asset was not open for edit. You may need to open it for edit first[edit]

A rare message that can occur when CM gets confused about what is or is not being edited. Possibly caused by having multiple copies of CM open, or manually moving the edit folder or subfolders.

Error: Unable to read config file for asset at <location>[edit]

[[Trainz/Unable to read config file for asset at <location>|Unable to read config file for asset at <location>]]

The config.txt file could not be found or could not be read. This usually indicates that the asset is corrupted, or that it does not exist at the location where it was expected. This can happen if the asset is deleted but the cache has not been updated. The asset should be restored from a backup source, or reverted.

Error: This asset has a trainz-build number which is not recognized by this tool[edit]

The build number of the asset is included for every Trainz item as a mandatory entry in the Trainz-build tag in the asset's config.txt file.

This error occurs when you import an asset with a trainz-build tag higher than the build number supported by the Trainz version.

As a mandatory data field, the build number defines to the game the technical standard to which the asset has been created. This enables the game to validate the asset to the approriate technical standard, and to insert defaults or ignore features as required. It is the secret which maintains Trainz compatibility version to version, and is the reason that (for example) Trainz 1.3 assets are still usable in new routes and session content.

Generally, it is possible to downgrade an asset to work in an earlier version of Trainz by adjusting the build number, but there are limitations. Scripting is one area that changes signficantly between builds, and can cause problems if the build number is degraded. So adjusting an asset from (say) 3.3 to 2.9 may require removing or disabling the scripting. Also, there are some inconsistencies in the technical standards between build levels. For instance, build 3.5 allows single values for the Distance tag in the Soundscript container (as was standard prior to 2.9), but build 3.3 requires that both values are included. These changes are usually easy to adjust in the asset.

Meshes, Textures, kuid references and other similar basic elements of the asset will usually work properly in all builds back to 2.9. The required adjustments become more extensive for builds prior to 2.9.

Error: Unable to load mesh file: '<mesh filename>'[edit]

The mesh file could not be loaded. Perhaps it is misspelled in config.txt, perhaps it is missing, perhaps it is the wrong format, or perhaps it is corrupted and unreadable. The later case is very rare.

P train grey.png
Often Related, the newer Trainz will be saying they cannot find an anim file... because they had no such in pre-TRS2004. When the mesh-table is specified, the parsing software then is satisfied there is none and does not generate the anim error. This happens often with assets embedding tracks that were created using a KIND mocrossing as a base model (kind), for example some dock assets or early non-industry stations with attached tracks.
Steps to fix these
  1. Run PM2IM and see if there is an IM file generated, or Pevs Tool generates a similar error.
    This can be done from the Trainz Content Manager using the RMBh menu to launch open using PM2IM or by installing a copy of PM2IM.BAT in the \editing folder and dragging and dropping the folder of interest onto the bat file.
    1. If the latter, ask on the forum for advice and assistance.
    2. If the former, hand edit the mesh path to be correct as follows.
  2. First, Make sure you also check and update the file extension to .IM!
  3. If an IM file has been generated by the same name, check the folder/pathspec entry in the asset's mesh-table container and verify both the PATH (many older assets had a 'asset-name'+'_body' sub-folder, the convention until mid-TRS2006 versions, so likely in any v1.3-v2.4 asset), AND the filenamespec (including EXTENSION) are correct.
    1. In such older assets, where the pathspec is correct, there is likely no mesh-table installed. Adding one (at least after v2.0) will (unsurprisingly, as it's a TRS2004 introduced standard) be accepted by all Trainz since and is often demanded by the poorer parsing in N3V's TS09-TS12 releases.
    2. Most will be in a subfolder suffixed by '_body'.
      Useful timesaver tip: When in the ..\editing\asset-folder use one click on the sub-folder and then the key sequence F2+CTRL-A+CTRL-C, (then ESC) to capture the exact syntax of the sub-folder name (and not change anything).
    3. Then paste that in as the mesh-table path front end: "subfolder-name_captured\mesh_filename.IM".
    4. Example mesh-table boilerplate (adjust pathspec and filenames to match your folders contents):
mesh-table {
  default {
    mesh               ""
    auto-create        1
  shadow {
    mesh               ""
  default {
    mesh               "Subfoldername_body\"
P train grey.png
New Trainzer's take note!:
Note that in older assets having a asset-filename tag, the edit folder and the 'Subfoldername_suffix's' are determined by the tag, which is usually lowercase and will also usually contain underscores vice spaces.


Error: Attachment point 'numeric_name' in 'container-name' was not found.[edit]


Error: Attachment point 18 (a.passoff) in 'queues\passengers_off_0\attachment-points' was not found. Error: Attachment point 61 (a.passoff112) in 'queues\passengers_on_1\attachment-points' was not found.

There are several possible causes for this error

  1. The attachment point name is wrong, so the mesh and container listing the data point mismatch.
  2. The attachment point name has been listed with one or more additional trailng spaces.
  3. The attachment point is missing, so again the mesh and container listing the datum mismatch.

Interpretation of 'Numeric-name': The nineteenth attachment point named '18' in the mesh referenced by the queues container in the sub-container passengers_off_0 is missing. ('18' is a placeholder parameter reference—A NUMBER acting as a NAME or TAG... and could be renamed as 'xyz', 'glops' or anything without spaces, so long as it occurs on the 19th line of the container (data table).)

By convention, sub-elements in Trainz are normally given number placeholders, but in most cases any entry interpretable as a string will work.
 • As placeholder parameters, the numbers are interpreted as strings, without weight or value, just like a tag name.
 • The important thing is something be inside the {...} pair, the inside lines of which each also expects keywords (or placeholders) paired with values, as is universally true in Trainz.
 • Consider that the contents of paired { ... } braces is paired with a preceding kind or container name.
Error: Attachment point 'numeric_name' in 'container-name' was not found
 • These are manufactured errors (by adding 3 lines of false data to the container), after fixing the first error message.
 • BOTH instances give the same error message syntax... one missing correct name, the others missing the attachment points.
There are three possible common fixes...
  1. An attachment point might be added to the platform using the PEVsoft tool Attachment Maker with the name 'a.passoff_##', if it is truly missing. (This is a fairly common case in older 'passenger product' assets.)
  2. However, on the basis of the name "a.passoff", the line likely has a missing numeric suffix—nobody wastes time giving a generic attachment point on a train platform (of which there may be hundreds) a fancy name—such are usually numerically suffixed; so the message is probably issued because the container name is missing its numeric suffix, and since the placeholder sequence is:
    00  → a.passoff01,
    01  → a.passoff02,
    02  → a.passoff03, ...
    so at the entry ##-1   → a.passoff##, add the correct suffix '##+1',
    thus in the given example adding 19 to the line of the #18 placeholder should fix the problem.
  3. If failing the rename, the line can just be deleted. If so, the 'size' tag number in the product queues container should be decremented to properly initialize the size of the array and conserve run-time memory.
P train grey.png
People, that is passengers are 'products' the way Trainz processes passenger industry related assets such as passenger coaches and station platforms.

Error: Attachment point '<attachment point name>' in '<effect name>' must be found in mesh '<mesh name>'.[edit]

An attachment point is referred to in config.txt but it does not exist in the default mesh <mesh name>. This can often happen when a config.txt has been copied from another asset, and the attachment deleted from the mesh. For instance, a crossing gate has had a lamp attachment removed from the mesh, but the corona effect <effect name> still refers to the missing attachment point. Example (with associate companion error):

Error: Attachment point 'a.lite121' in '133' must be found in mesh ''.
Error: The attachment point 'a.lite121' must belong to the parent mesh of the effect (mesh=malt.IM).

Theory/Background: The effects container is generally an array of duplicate items, such a for instance, the number of windows in a building that are 'back lighted' and different from those that are 'dark'. Another attachment point series frequently encountered are many people on a Trainz platform, or perhaps a tree in a 'tree group'. Solution: The general solution is to delete the container or tag creating the error.

P train grey.png
Notice the "fix" documented as follows:
kind                                    "scenery"
category-class                          "BC"
description                             "Large Grain Conglomerate, so I have built it in sections for easier
placement. located in Vancouver, by the BNSF yard.

Rev-A by Fabartus -- 2014-0508 Repaired these 'lights' faults by removing the #133 container to below:
Error: Attachment point 'a.lite121' in '133' must be found in mesh ''.
Error: The attachment point 'a.lite121' must belong to the parent mesh of the effect (mesh=malt.IM).
Removed/Deleted lines:
        kind                            'corona'
        att                             'a.lite121'
        texture-kuid                    <kuid:-3:10111>
        object-size                     0.21

Error: The attachment point '<attachment point name>' must belong to the parent mesh of the effect <mesh name>.[edit]

This often occurs in conjunction with the previous message. Not only was the attachment point not found in the mesh, it was not found in the parent mesh to which the effect is attached. It occurs for the same reasons as the previous message.

===Error: Container '<container-name>' does not have an 'att-parent' tag which is required to reference an attachment point.

The container will be in the mesh-table. The message indicates that the container is missing a required att-parent tag to indicate the parent mesh that the mesh referenced in the container is attached to. This occurs when the parent mesh is aliased - in this case CM requires the parent mesh to be explicitly nominated. Look in the config.txt file of the aliased mesh to determine the relationship between meshes and add the 'att-parent' tag and the parent mesh name into the mesh container.

Error: The *.texture.txt file is missing for texture resource '<texture name>'.[edit]

A texture name used in a mesh file cannot be found, or could not be loaded. A valid texture.txt file should be created with a suitable associated image file. It is possible to search the user data folder for a texture of the same name, which might or might not be suitable for the asset. It is also possible to create a new texture.txt file and an arbitrary image - this might reveal what the image needs to be, or it might reveal that the texture doesn't matter and any image will serve to get rid of the error.

If the missing file is a 'digit_xx.texture' then any image can be used to remove the error. These files are not actually used because they are substituted with the selected digit image as part of the running number creation.


Error: The texture '<image filename>' failed to load[edit]

Example: Error: The texture 'column1.bmp' failed to load. There was a failure in loading the named image file as an image. The file may be corrupted, in which case it must be replaced with a valid image file. It might not be in the correct format (for instance, it might be compressed TGA). It might be sized incorrectly - images used in a mesh must have a height and width that are a power of two (that is, 2n where n is an integer) pixels.

  • If MS Paint or other graphics application can load the file, then size is the most likely cause. Resize the image so that both width and height are a power of two (eg, 8x8, 16x16, 32x128, 256x64).
Modified AlhpaMask to fix asset giving only one, needing three. All three affect light patterns cast by lenses of a in-world simulated spotlight source. The base pattern can be discerned under quick and dirty 'hack' introducing individuality to this AlphaMask, and so to the lamps using it on the yard light tower asset to which it provides definition.


Error: Unable to load alpha 'texture filename' for texture file 'filespec.texture.txt'.[edit]

Error: Unable to load alpha texture 'subfoldername/alphamaskfile.bmp' for texture file 'subfoldername/alphamaskfile.texture.txt'.


Error: Unable to load alpha texture 'night/licht1.bmp' for texture file 'night/white-licht1.texture.txt'.
Error: Unable to load alpha texture 'night/lichta.bmp' for texture file 'night/white-lichta.texture.txt'.
P train grey.png
i.e. PEVTools may have created the texture.txt files correctly to the newer standard, and an alternative and simpler fix to that given belowwould be to just use the one .bmp file for all three by changing the newly generated texture.txt file entries.
(That 'fix' would take the fun out of experimenting though! Using 3 gives added customization ability! -ed.)
It is important to understand that prior to V2.7, TRS2004 and TRS2005 had no explicit allowable lines for AlphaMask mode changes. Every thing was a default mode. These were added later to extend the facility, so this pair of messages gives some insights into evolution of data in that era.It may be TRS2004 assets and earlier didn't even use texture.txt files, being based on the older folders with suffixes organization. (Suspicion, ed.)Ø
The original early Trainz asset did not require the tight definitions of today's assets and may not have used more than one AlphaMask for the three different .tga files mimicking light sources.
  1. The above error pair of messages occurred in a v1.3 yard tower-style floodlight asset, where only one of three greyscale .bmp files were used to alter the dimness and characteristics of each light on the tower, giving them individuality and a bit of uniqueness. Arrayed beside other spotlights in the yard light tower asset, the three differing shadow masks would realistically duplicate actual attributes of individual lights in the prototype.
  2. The general fix, when a graphic file is missing entirely is to replace the file with something that will do the job.
    1. In the above case only one of three AlphaMasks were present, so that was copied, and altered to duplicate the desired individuality and satisfy the 'texture.txt' include files. (See image above and right)
  3. Other faults of this type are often because earlier Trainz would read the folder(s) contents entirely, and indiscriminately index each file and put it in a memory block—this enabled a reference to the .bmp or other supporting file anywhere in the asset folder hierarchy (including those in the asset root above).
    1. But the older method sometimes ran the risk of creating subtle problems if the content item used the same filename with differing data.
    2. The newer Trainz do not find things the same way, relying on an specified pathspec and the texture.txt files are used to make sure a correct pathspec/filenamespec is explicitly specified. When the subfolder or asset root folder had a file specified in a filename.texture.txt file. This creates the spinoff error effect... files easily found in Trainz 1.3--TRS2006 suddenly were pathspec disconnected breaking assets.

Error: Unable to load image file '<image filename>' for texture '<texture filename>' while validating mesh '<mesh filename>'[edit]

Note this and the following error (unable to load Primary Texture) often occur together...

The image referred to in the texture.txt file could not be loaded. It might be missing, the name might be misspelled in the texture.txt file, the image file might be the wrong format (for instance, compressed TGA), the image sizes might not be a power of two (where required) or the image file might be corrupted. It is possible that the image file is not really missing, but the texture file exists, and is not required. Check the required lists of textures using Assetx - if the texture name is not listed then the texture.txt file can be removed and the error will disappear. example: Error: Unable to load image file 'shadow.bmp' for texture while validating mesh

  • Solution: ...See narrative following...


Error: Unable to load primary texture '<image filename>' for texture file '<texture filename>'.[edit]

Note this and the preceding error (Unable to load image file) often (if not always will) occur together...

The primary image referred to in the texture.txt file could not be loaded. It might be missing, the name might be misspelled in the texture.txt file, the image file might be the wrong format (for instance, compressed TGA) or the image file might be corrupted. example-1: Error: Unable to load primary texture 'shadow.bmp' for texture file 'shadow.texture.txt'.

  • Solution: Used a shadow.bmp archived in folder textures library built while fixing assets.
  • Alternative. Could have taken a black.tga, or made a new dark tga file of 4x4, 8x8, or 16x16 to serve as this shade.

  example-2: Error: Unable to load primary texture 'greyhound_stop_1_nightwindows/bussstatin1.tga' for texture file 'greyhound_stop_1_nightwindows/bussstatin1.texture.txt'.

  • Solution: Key was focusing on the key words "primary texure" ('/bussstatin1.tga'), BUT... the file was in the root of the asset folder and needed to be copied down, whereas the night mode texture.txt file was in the '..\greyhound_stop_1_nightwindows' folder below the root. It was with a 'greyhound_stop_1_nightwindows.tga' and 'greyhound_stop_1_nightwindows.bmp'which was in fact an AlphaMask image for the illuminated windows and signs.

Image file '<image filename>' is incorrectly used as both a texture.txt source file and a raw image file.[edit]

The asset includes a texture.txt file that refers to an image file, but that image file is referred to directly from config.txt. This applies to image files that are used as thumbnails. Either change the thumbnail reference to the texture.txt file, or (preferably) delete the texture.txt file.

Error: Binary conversion failed for texture resource '<texture filename>'.[edit]

The image referred to in the texture.txt file could not be processed for some reason. See previous.

Error: The primary and alpha texture are not the same size for 'texture.txt file'[edit]

When image formats other than TGA (such as BMP) are used and transparency is required, then two images must be supplied - the opaque image and the transparency mask. These two image files are referred to as Primary and Alpha in the texture.txt file. In this case the two images must be the same size.

The problem can be fixed by

  • 1- Resize one or other of the images so that they are both the same size
  • 2- Create a single TGA image with transparency, and update the texture.txt file so that both Primary and Alpha refer to the same image file

Option 1 might be simpler for repairing some assets, but option 2 is by far the better alternative.

Example Problems:

Example case-1

Error shows up as being in an art subfolder:

Error: Unable to load alpha texture 'gondola4axlebn521555ant_art/gondola4axlebn521555ant_512.tga' for texture file 'gondola4axlebn521555ant_art/gondola4axlebn521555ant_art_512.texture.txt'.

Error: The primary and alpha texture are not the same size for 'gondola4axlebn521555ant_art/gondola4axlebn521555ant_art_512.texture.txt'

The texture.txt file for the asset is:


This is a simple typing mistake in the file. Change it to:


(The hint is not required and should be removed. Changing the order of the lines doesn't matter but makes it easier to check the typing). The error was actually due to the fact that the alpha (transparency mask) file could not be found. Fixing the 'Unable to load..." error also removed "..not the same size" error.

Note that fixing problems in the art file folder is not necessary for correct functioning of assets: The 512 art file is no longer used at all, and the icon art file is only used in lists and display of the consist.

The art files are only for viewing the thumbnail pictures and the alpha channel is used to block out the background so only the object shows. In this respect the alpha channel is not necessary for using or enjoying the asset. Consequently, if I have such a problem as this, I edit the texture.txt files in the art folder to delete the alpha line to get rid of the error so I can use the asset. Correcting thumbnail alpha channel problems is a waste of time.[1] // Bob

Example case-2
Error: The primary and alpha texture are not the same size for 'kansascitysouthernsd40-2_body/reflectstrip1f-window-dark.texture.txt'

In this case use the image resize option in AssetX (or any image editing program such as Irfanview or GIMP) to adjust the image sizes in pixels so that they match in both height and width, and each dimension is an integer power of 2 (4,8, 16, 32 etc).

Error: The Tag '<tag name>' is not permitted within a container of type '<kind>'.[edit]

"Error: The Tag 'thumbnail' is not permitted within a container of type 'scenery'."

The tag is not recognized as valid for this type of asset. The tag might be a comment (earlier versions of CM ignored comments) in which case it can be deleted. It might be misspelled, in which case it can be changed to the correct spelling. It might be a valid tag that was meaningful and useful for the asset, but is no longer valid. An example is the tags used by some scripts to provide information, such as running number range. These custom tags are no longer allowed as top-level tags in config.txt - they must be moved to a container within the extensions container, and the script must be modified to find them at their new location in the file. The details depend on the script.

  Post V3.6 retrofit Examples:

  1. Error: The Tag 'engine-sound-ramp-down-durations' is not permitted within a container of type 'enginesound'.
  2. Error: The Tag 'engine-sound-ramp-down-durations' is not permitted within a container of type 'enginesound'.[2]

These two errors occur when a content creator 'back-dates' a v3.6 or above engine asset creation without testing the lower trainz-build code (for example, V2.8 of TC3 — where many enginespecs were evolved) in the asset; or should one try to retrograde such an asset to an earlier Trainz.

Solution: - delete (or move the two lines into the description field change record) the lines in the retrograded asset or increase the trainz-build to 3.6 or above.

Error: The tag 'tag name' in '<container name>' points to a nonexistent file: '<filename>'.[edit]

This error occurs when a tag references a file and the file cannot be found.

For instance, named subcontainers in the thumbnails container have an 'image' tag that can point to a texture.txt file or to an image file. If the image file is not found - perhaps the name is misspelled, or the file is missing - this message will be logged. Similarly, the 'info-page' in a 'maps' container should point to a .htm file. If the file cannot be found the error will be logged.

Error: Incorrect number of values for the tag '<tag name>', expected <x> values, found <y>[edit]

Where a tag requires a list of values, there may be a required minimum or maximum number of entries in the list. If the correct number of entries is not provided, this error will be logged.

  • General approach: Add or remove entries from the tag list as required by consulting first with the N3V Wiki for the containers missing value(s). Note the container (quick Cat links) could also be a KIND (quick Cat links).
Actual example

Slugsmasher's trainz-build V2-4 — SS Log Dump Diesel, <kuid2:86661:144048:2>, in upgrading to V3-7, errors from V2-9-SP2 (TS2009-SP2 messages). Remarkably, TS12 did not report the same errors, having given 0 errors and 0 warnings before importing to V3.1, though the N3V Wiki documentation says the tag is compulsory above TB V3-4.

Error: Incorrect number of values for the tag 'repeat-delay', expected 2 values, found 1.
Error: Incorrect number of values for the tag 'repeat-delay', expected 2 values, found 1.
Error: Incorrect number of values for the tag 'repeat-delay', expected 2 values, found 1.
  • Fix: Consulting repeat-delay container — the paired values are a range, if different, the difference is a range of a random value added to the first value before the sound is repeated again. Defaults are 1,1. The 3rd container is a engine, so made the values 0,0. The others logdump as 2,3 (so 1 second randomness for operator actions) and 'logdrop' 2,2 (constant delay, they only fall so far) taking the original offending single value, and adjusting accordingly.
Case Two
Error: Incorrect number of values for the tag 'trackoffsets', expected 2 values, found 1.

This was found as an error found in a bridge asset category-class "TB' which is the new type of track spline. This group (KIND Track) has superceded all other spline types in the new data model, and this the first obvious and documented group of assets where the category-class tag affects rendering and also validation.[3]

  • 'Validation success' achieved for the tag 'trackoffsets' by adding the identical value after a comma. A Google site search for tag 'trackoffsets' fails to reveal documentation anywhere but in the TC3-CCG. Whether the asset is 'fixed' using this additional data is unestablished in TS10-SP4 (49933).[4]


Error: The Decimal tag '<tag name>' in container '<container name>' is not a valid Decimal value[edit]

Example: Error: The Decimal tag 'object-size' in container '14' is not a valid Decimal value.

The tag value is not a valid decimal number. For instance, a value of '0,05' has been entered instead of '0.05'. Edit the tag value so that it is a valid decimal number.

Error: Unable to load animation file '<animation file name>' (no resource).[edit]

The animation file was not found in the asset. It may be possible to search for the file in user data and find it - a file of the same name might or might not work with this asset.

  • This error is common with kind mocrossing where there is no animation. CM demands that the file exists even though it is not referenced in config.txt. Any valid anim.kin file can be added to the asset to eliminate the error.
(and likely more correct fix)

Since newer assets post-TRS2004 will almost certainly not be the error source for this, this has occurred only in older assets (v1.3--v1.5) which can be fixed by adding a mesh-table container and not by gimmicking the asset with some other assets (likely? Or not?) incompatible anim file. The absence of the anim entry in the mesh-table causes no complaints from CM.

OTOH, here's a win-win strategy:
 • A) If you located an anim from a similar crossing per fix suggestion #1 (or want to do so, ... suggest trying the same author, even newer TB assets!)
 • B) try adding it, but immediately (!!!) after committing it, open surveyor and go to your favorite test route, and lay one down.
 • C) Test it with a Loco on the tracks bringing it from far to nearer and nearer. If the anim does not trigger, you are no worse off. If it does, you can observe how good or messed up it might be, before deciding to repair the asset further with just a mesh-table without a animation presence.

Tip: Note: No need to shut down CM to run surveyor. Many run with both running. Some of us with multiple CMs and a surveyor or two!

  • Why does the mesh-table work? Trainz CM is defaulted to expect one when there might be one. However, the part of the software which reads the mesh-table is satisfied by a Nil reference, thus generates no errors.

Error: Required container '<container name>' is missing.[edit]

This can also be a warning in some cases, even though it says 'required'. It indicates that the asset type requires a particular container but that container has not been included in the cofig.txt file. The fix for this depends on the container (some containers can be easily created, some can't) and the asset type.

Error: The kuid '<kuid>' specified in '<container>' is not of the correct type.[edit]

When a kuid is required within a container it must be a kuid of the type that is appropriate for that container. For instance, the allowed-categories container (within a queues container) requires one or more KIND product-category assets. A different type of asset (such as a product) will generate this error. —

Error: The kuid '<kuid:-3:10044>' specified in 'product-kuid' is not of the correct type.

Some assets that appear to be products are not products at all, but are actually product categories. These assets are not valid for use where a product is required. The standard product categories are:

 Bulk Load,<kuid:-3:10040>
 Liquid Load,<kuid:-3:10044>

Replace the invalid item with an appropriate product.

Error: Failed to load sound file '<sound file name>', please ensure this is a valid wav file.[edit]

The sound file could not be loaded. Perhaps the file is missing - it may be possible to search for the file in user data and find it. It might be corrupted or in the wrong format. If the file has been left out of the asset because it's not actually needed, then any sound file will work, at least to get the asset installed so that the function of the sound file can be determined and a suitable replacement located. For historical reasons this error can also occur in assets that are upgraded from an earlier build number - the file exists and the config.txt file entry appears to match the filename, but the warning persists. In this case ensure that the file name in config.txt is enclosed in quote marks (") - trailing spaces or tabs can confuse CM when quotes are not used.

It may also be a "Bit Rate" fault. Check with program such as Audacity (Freeware), my experience was a sound file bit rate of 4400mhz, changed to 22050 to match existing working .wav file and problem resolved. AssetX V3 and later includes a Repair option that fixes some problems with sound files.

Error: Script class does not match asset kind (<kind>).[edit]

The asset script is attempting to use a class that is not appropriate for the asset type (kind). An extreme example is trying to use a Locomotive class for a scenery asset.

  • Note that errors associated with scripting are only fully identified when an asset is committed. It is therefore possible that the error disappears when other errors are fixed and the committing succeeds. If the problem associated with this error is not obvious then leave it untill all other errors are fixed, and then confirm that it still occurs.

Fixing this error and preserving the script functionality is beyond the scope of the present discussion.

Error: Multiple track stretches between '<attachment point>' and '<attachment point>' in container 'attached-track'[edit]

Error: Multiple track stretches between '<attachment point>' and '<attachment point>' in container 'attached-track'. Track stretches must be unique.

  • As of CM version 3.7 this is a DLS upload validation error only.

The attached track container includes one or more vertices sub-containers. The vertex pairs listed in the sub-containers represent connections between vertices. A pair of vertices can have only one connection. Edit the vertices subcontainer by removing one of the duplicated vertex pairs.

Error: The obsolete KUID <kuid> is not part of this assets obsolete history.[edit]

A problem has been detected with the obsolete history for the asset. However, the description in the error message is not correct (except in 'geek speak', meaning from the point of view of the software's writers, who should have translated the detected error into user referenced terms). The problem is that the asset is obsoleting an item that is already in the asset's obsolete history. For instance, asset <kuid:12345:6789> might include an obsolete table -

   0                                     <kuid:12345:6000>

indicating that it obsoletes an older version. If the asset is then released in a new version it should properly only use the kuid <kuid2:12345:6789:1> to indicate that the previous version is now also obsoleted, and not an obsolete table entry. Obsolete tables are however often used by the N3V staff in fixing up JA files of the forthcoming release to replace assets with an entirely different kuid. For example, TS2009 and up all have many That upgraded asset should not include the obsolete table from the previous version, as that would create a duplicate obsolete reference in the asset's obsolete history.

Editor's note:

Why the above error occurs...
The asset.tdx (data base index file) can only contain a single reference to an asset obsoleting the KUID, hence a double entry generates the error message. While CM will 'fill in the blanks' with an assumed sequence of KUID2'swhen a superseding KUID2 skips one or more version suffixes, so knows for example, to use a '<KUID...:4> to obsolete a KUID or <KUID...:1>; but each filled in number of the sequence holds only the next superseding kuid in the index. This makes sense when one considers the role of the obsolete-table as a replacement look-up table. An asset's kuid-table listing an older kuid is compared to the list, which points to it's replacement. A computer can't substitute two things for one, hence the obsolete/replacement table in the assets.tdx indexing can only hold a single entry.
  • As of CM version 3.7 this is a DLS upload validation error only. However, several forum posts by staff have indicated this double-reference is one cause of data base instability and needs to be prevented.

Editor's note: Content Manager began indicating the Trainz-Build (TB) version number of an install per user requests with the release of TS10 and also for TS09-SP4 (which followed most TS10 service packs in time. TS09-SP4 AND TS10-SP4 are both TB v3.3 so have 'CM 3.3' show in the title-line of CM), so V3.7 is TS12-SP1+hotfix 3 or hotfix 4. Such DLS upload screening is deliberately kept more up to date than current CM's of releases, and reflects the errors expectable in the next Trainz retail release. (Which as of the moment, is TANE.

Error: TADCompileAsset unable to determine asset KUID[edit]

The kuid used for the asset could not be resolved into a valid kuid. It might be incorrect format (eg, <kuid2:-1:110000:0>) or there might be an internal issue about conflicting kuid numbers. Check the kuid in config.txt and confirm that it is correct.  

Error: Unable to commit changes to asset <kuid:xxx:yyy> as the config file contains the wrong KUID[edit]

There is an inconsistency between the kuid recorded in the database for the asset and the kuid in the config.txt file.

When an asset is opened for editing the status of the asset is recorded in the database. When the asset is committed the asset is loaded back into the database from the edit folder and the status is updated. This error is emitted if the process of loading the asset back into the database detects that the asset kuid differs from what is recorded in the database.

If an asset kuid is to be changed then the asset must be loaded through the File / Import Content menu option, and the original asset should be reverted.

Error: CRC Mismatch on '<script>.gsl' after recompile. Do you have both .gs and .gse present?[edit]

Database repair error. The asset may show in CM with an error icon but no error message is available. Opening the asset for edit and then re-committing may clear the error.




  1. [ -and-Alpha-Texture-are-not-the-same-size Asset Fix: Primary and Alpha Texture are not the same size], June 11th, 2010, 05:51 PM, rweber95
  2. Spotted in TS10 with V2.8 asset config.txt including the header lines: kuid <kuid2:60238:53042:1> username "Green Goat GENSET Engine Sounds Startup" kind "enginesound" category-class "ZS" engine-sound-ramp-up-durations 0,2.396,2.317,2.267,2.701,2.626,2.374,2.175 engine-sound-ramp-down-durations 0,2.396,2.317,2.267,2.701,2.626,2.374,2.037 category-region "US" trainz-build 2.8 category-era "2000s;2010s"
  3. Splines cite category-class tags as Parent assets! KIND_Track#Parent_Classes
  4. JJS Bridge Deck Girder-aRus,<kuid2:46819:38129:2> Status note: 2014-0914, resolution, uncertain.