Cities: Skylines

Cities: Skylines

284 ratings
Finding Broken & Bloated Workshop Subscriptions
By statefundedterrorism
Bad assets and mods cause lots of problems - crashes, laggy gameplay, broken transport, and graphics problems.

This guide shows you how to find and eliminate them.
7
   
Award
Favorite
Favorited
Unfavorite
Unsubscribe known broken stuff
Updated: January 2022

There's lists of workshop mods and assets that are known to be broken. Clearing away some common broken stuff will make the rest of this guide much easier to complete.

Broken workshop items
Subscribe and enable the compatibility report mod to identiify outdated, incompatible, and broken mods:
https://steamcommunity.com/sharedfiles/filedetails/?id=2633433869
LemonsterOG compiled a Steam Collection of mods and assets that are known to cause problems - unsubscribe all:
https://steamcommunity.com/sharedfiles/filedetails/?id=2056891584
TM:PE team have some lists of known broken assets in their wiki:
Install these mods
Updated: January 2022

To track down bad assets, you will need some tools which are provided by the following mods:
Subscribe those mods (click the green "Subscribe" button on mod workshop page), then enable them.

To enable mods: From the game Main Menu, choose Content Manager, then select "Mods" in the sidebar. Find the mod and enable it.

If the mods aren't showing in the Content Manager, try the following one at a time:
  • In Steam client, log out of your Steam account, and then log back in again
  • Make sure you don't have `-noMods` or `-noWorkshop` launch options (if you do, remove them)
  • If it's still not working, see this guide[github.com] for other things to try
Enable reports in Loading Screen Mod
Last checked: September 2019

In Content Manager > Mods, locate "Loading Screen Mod" then click its Options button.

You will see a screen like this:


In the "Loading options" section, enable all the options. This will greatly reduce RAM consumption and make loading much, much faster.

In the "Reporting" section, enable all options (there are two at time of writing this guide, but if you see more enable those too).

For a more comprehensive guide on Loading Screen Mod, see Performance Tuning Guide.
Load your save game
Updated: January 2020

Load your save game in the usual way.

Your loading screen should look something like this:


Pay particular attention to the RAM section above the blue loading spinner. If it turns orange or red, it's indicating you are low on RAM or paging file.

If you are low on RAM:
  • Unsubscribe any assets and mods that you never use (Kick your subscription addiction!)
  • Windows/Linux: Increase paging file / swap file size (see RAM and Page file section in Performance Tuning Guide)
  • Use Mesh Info Mod (see later in this guide) to find bloated assets and remove them
  • As a last resort, buy more RAM

It is common to see the blue horizontal progress bar stall a few times during loading process. That usually occurs at about 50% and 97%. The stall at 97% is usually much longer. However, if it's been stuck for more than 20 minutes, something is wrong, force-quit the app to get back to desktop.

If the game does load successfully, exit to desktop.

It's now time to start trawling the log files and asset reports...
If game crashes...
Updated: December 2019

If the game crashes or you get spammed with errors, go back in to Loading Screen Mod options and enable all the Safe Mode features:



For more informartion on what these options do, see: Safe Mode guide

With the options set (and any additional options that are added at later date) try loading the save again. If it works, save it under new file name, then exit game and relaunch. It should be largely error free after that. If, however, there are still crashes or errors you probably have a broken mod or asset that is causing persistent problems.
Asset report
Last checked: August 2019
If the game crashed while loading your save game, skip this section.

The report generated by Loading Screen Mod is the first place to look.

The report we want to look at is called: your city name Assets Report date and time

Double click the report to open it in your browser.

Assets that failed to load

Click the asset link to open its workshop page, then look at the "Required Items" in the right sidebar.

In particular, it's usually 'neworks' (roads, rails, that sort of thing) that cause asset loading problems. Sometimes they will require mods, such as "Network Extensions 2" or "Metro Overhaul Mod". Other stuff, such as props, can be ignored - assets will always load properly even if missing props.

Tip: If you scroll towards the bottom of the report, you'll find a section "Assets that are missing" - which lists and categorises all the missing "Required Items".

You have a choice here. If you want to use the asset, you need to also subscribe those missing items. Otherwise, unsubscribe the asset so it's not generating errors.

Asset errors and warnings

These errors are usually much more serious, although some of them can be ignored if you don't care about the consequences.

At time of writing this guide, the following errors are reported (click for details and then decide what to do):
  • Invalid LOD texture size - this can break the LODs of other assets, causing them to turn black (game will still run, but things will look ugly when zoomed out)
  • Asset naming conflict - indicates a possibly broken asset
  • Name changed by author - sometimes harmless, sometimes problematic. If the issue relates to a network (road, rail, path, etc) then it could break your save.
  • Asset uses private asset - a required item is not publicly available. If that item is a network (road, rails, path, etc) it could break your save game. If it's a prop, however, just ignore it.
  • Very large LOD mesh - The asset can cause performance issues when camera is zoomed out. Only an issue if you see bad frame rate when zoomed out. Assets which are more regularly used (roads, rails, vehicles, cims, etc) will cause bigger problems.
  • Very large LOD texture - Can cause severe visual degradation of all LODs when camera is zoomed out.

Assets that are missing

Missing "Nets" (networks: roads, rails, paths, etc) can break save games. Either subscribe them, or unsubscribe the asset that requires them.

Missing "Props" can usually be ignored. I always unsubscribe unwanted props to save RAM, so my asset report is filled with hundreds of missing props lol. The game will just ignore missing props, it doesn't cause any problems.

Missing "Trees" - same situation as missing "Props", the game will just ignore them.

Duplicate asset names

These do not usually cause a problem. Most commonly it will be pillars or other props used in networks (roads, rails, etc). For example, a road might use the same pillar for both the elevated and bridge designs - that's very common and normal. You can generally ignore the things in this section.

The following custom assets are used in this city

Lists any assets used in the city that are not available via the Workshop. You might see this if you download a save game from the workshop, where the user who made it had some custom assets that they forgot to publish to workshop.

The game will generally ignore them, unless they are networks (roads, rail, etc) which might cause problems. But that's why we subscribed the SafeNets mod earlier, it solves some of those problems :)

The following enabled assets are currently unnecessary

You can usually ignore this huge list. Any asset not on the map will be in the list.

However, if you are running low on RAM it's worth reading through the list to see if there's any assets you never use which could be unsubscribed to save RAM. Note, however, some assets are part of "asset packs" - a single workshop asset can contain multiple assets. If you don't want to get rid of the whole pack, you can disable just specific bits of the pack via Main Menu > Content Manager > Assets screen.
Game log file
Updated: February 2020

Locate your game log file and open it in a text editor.

Note on searching

Some text editors (like Windows Notepad) only search from current position in file. So, between each search, make sure you scroll back to top of file (Ctrl+Home or use scroll bar) and click the first line to ensure the next search will scan the whole file.

Also, copy and paste the search strings (but not the '[github.com]' bit - Steam adds that after links and I can't find any way to remove it, sorry) in to the Find or Search box in your text editor, don't type them out manually - if you make a typing mistake the search will fail.

Did game crash while loading?

If game crashed while loading, there are some common errors (listed below) to search for.

Search for each of the following, and if you find one click the link to get more information about what the likely cause is. The links go to the relevant troubleshooting guide, usually in the TM:PE wiki on GitHub.

Common errors:
Rare errors:
If you are still struggling to get the game loading, share your log file and post a link to it in a new topic in the main discussion forum. Be sure to add some information about where the crash occurs (loading the game, loading a save, etc) so people know what kind of problem to look for.

Common asset errors

Note: Many of these will be reported by Loading Screen Mod.

Search for each of these in turn to identify and unsubscribe assets:
  • BrokenAssetException
  • System.IO.EndOfStreamException
  • System.NullReferenceException
  • System.BadImageFormatException
  • System.FormatException
  • System.IO.InvalidDataException
  • Invalid dimensions
  • Water facility cannot have water consumption or sewage accumulation
  • FormatException: Invalid DDS Image: failed to load
  • Private building cannot include roads or other net types
  • wants to be a sub-building for itself
  • !NULL asset
  • Offset and length were out of bounds

Turn an asset ID in to workshop URL

Often you'll want to look at the workshop page for an asset - there's an easy way to do that.

When searching the log file, you'll see a big long number in the asset names. Here's a few examples of what you might see:

InitPrefab Failed920507824.Barn 04 - RICO_Data 97729711.Savelovskiy_City_Davis_Data Button Destroyed

There's a bunch of other variations, depending on what the error was, but in all cases you should see a big long number at the front of the asset name.

Take that number and add it to this URL: https://steamcommunity.com/sharedfiles/filedetails/?id=

For example, the two assets above would have the following URLs:


(I couldn't find a way to post URLs without Steam trying to turn them in to active URLs lol)

You can then paste URL in to a browser to get the Steam Workshop page for the asset :)
Mesh Info
Updated: January 2020

Now, assuming you are able to load a save, the next thing to scan for is bloated assets. These hog RAM, make loading slower and in rare cases can even crash the game while loading or saving.

The Mesh Info mod is the perfect tool for that. Open it up (Ctrl + M or Cmd + M) and you will see something like this:


It groups assets in to several categories (building, prop, tree, vehicle) and only shows one category at a time, so be sure to check each category in turn.

What the columns mean

The main columns shown are:
  • Triangles (more triangles = more work for your GPU)
  • Weight (bigger weight = more likely to cause lag)
  • Texture size (bigger size = consumes more RAM)
Each of those columns is split in to two left and right columns:
  • Left = main model (camera zoomed in)
  • Right = LOD model (camera zoomed out)

Weight

The weight is just a quick guide for how bloated an asset is. If it turns yellow, the asset is getting a bit bloated. If it's red, the asset is very bloated. But is that sufficient information to make a choice about what to remove? No, it's not, keep reading...

Triangles

Every asset that's visible to the game camera adds to the "scene complexity"; the number of triangles being processed. As scene complexity increases, so too does the time taken to render the scene...

If you've got a tree made of 100 triangles, and there's 1,000 of them in view, that's: 1,000 x 100 = 100,000 triangles added to the scene complexity.

If you've got a unique building with 10,000 triangles, it can only appear once per city; that's 10,000 x 1 = 10,000 triangles added to the scene complexity.

The point here is that you should focus on the things that appear most often in your city: Trees, props, growables, and vehicles.

Loading Screen Mod's "Share Meshes" feature (mesh = collection of triangles) will remove any duplicate meshes, saving a little RAM. However, it won't reduce scene complexity in-game.

Texture

On their own, triangles are invisible. To actually see them, a texture has to be pained on to them. Luckily, each texture only gets loaded once, regardless of how many times it's used. A tree appearing 1,000 times only needs one copy of its texture.

However, there are huge numbers of assets - even the base game has a few thousand. For example, all those houses - each with 5 levels, each containing one or more props... When you start adding DLC and workshop assets, it all adds up to a huge amount of RAM consumption. All those textures need loading, even if you aren't using the assets in your city, their textures get loaded in case you add them later.

Loading Screen Mod's "Share Textures" feature can save you gigabytes of RAM by removing duplicate textures. You can also use it's "Prefab Skipping" feature to remove unwanted vanilla game and DLC buildings and their textures. More extreme, you can disable "Load enabled assets' so that it will only "Load used assets" - only assets already used in your city will be loaded, but you won't be able to add any other assets.

The game uses "texture atlases" to store textures. An atlas is just a big image that textures get pasted in to. There's several atlases, for example vehicles have a main atlas (zoomed in textures) and a LOD atlas (zoomed out textures). LOD atlases are smaller than main atlases for performance reasons. If an atlas becomes full, the only way to fit more textures is to resize all the textures smaller to make room. That slows loading, eats even more RAM, and degrades graphics quality.

If you run out of RAM, the game has to use page file on disk - that's much slower. It will increase loading times and cause lag in game as data is shuffled between disk and RAM. If the page file gets filled, the game will crash to desktop - it simply doesn't have enough room for the textures.

To render something, your graphics card needs to load the textures too. That's why graphics cards have Video RAM (VRAM). If your graphics card has low VRAM, it has to render the scene in multiple stages, shuffling textures between RAM and VRAM for each stage; that reduces rendering speed, and can cause lag and stuttering in-game. It will be significantly worse if your RAM is full because first you have to move texture from slow disk page file to RAM, and then from RAM to VRAM... ouch.

So anything with a big texture (main or LOD or, worse, both) is a potential problem; even if you're not using that asset on the map it's still loaded on to a texture atlas and it's eating RAM. Removing assets with huge textures can have a huge impact on game performance.
Vehicle capacities
Updated: February 2020

This is the last thing we'll check. Vehicles with unusual capacities will break the AIs and cause them to do weird things.

Let's take a Hearse as an example. It's normal capacity is 10.
  • Your hearse has capacity of 10, and there are 100 dead people: AI sends out 10 hearses, each of them visit 10 buildings
  • Your hearse has capacity of 100, and there are 100 dead people: AI sends out 1 hearse, and it has to visit 100 buildings!!
See the problem? That huge hearse will take forever to collect 100 people.

There's a similar problem with transport vehicles, particularly trains and busses. There is a set amount of time that cims can board a transport vehicle. If the capacity is too big, you get too many cims trying to board, which means the vehicle runs out of time but still has to wait for the extra cims to board. It gets stuck.

So, using the Advanced Vehicle Options mod, or the Customize It Extended mod, check your vehicle capacities to make sure they are similar to vanilla game capacities[github.com].
Other guides
Updated: February 2020
You might find these guides useful:
Feedback
If you can think of other useful things to add to this guide, or have any comments, let me know in the comments below.

If you found the guide useful, please consider supporting me on ko-fi[ko-fi.com].
.
< >
12 Comments
Sasquatch Jun 19 @ 1:23pm 
Another thing you can do to deal with packs of assets bundled together is to prune them. For example, a house uses one particular bush out of a pack of ten bushes. You can find that one bush in the "255710" folder, move it to your local assets folder so you have it, then unsubscribe from the pack. This lets you keep props without taking such a massive hit to the RAM.
femtas Feb 18 @ 4:32pm 
Wait, about the vehicle capacity section, does the vanilla capacity thing should only apply to public transportation and city services? Or does it apply to building capacities as well?
For example. Say i have a normal landfill with a maximum of 15 trucks. With the Customize It! Extended mod, i want to make it 50 or 60 trucks instead. Would that be a better idea than having garbage trucks with a way higher capacity?
Simuscape Jun 13, 2021 @ 10:19am 
Been playing CS for years now, and never ever have I thought of this;

If you don't want to get rid of the whole pack, you can disable just specific bits of the pack via Main Menu > Content Manager > Assets screen.

;)
snowflitzer Jan 3, 2021 @ 12:57pm 
Hi mate, maybe add the pagefile to it too :)
valhum Jan 3, 2021 @ 12:03pm 
thank you so much for such complete guide!!
statefundedterrorism  [author] Mar 1, 2020 @ 8:14am 
@Disembodied: Very good point. It would think they are all big, despite the texture being used for all of them (in which case that texture is much less of a problem). I don't think there's currently any way to resolve that issue currently. It would be nice if MeshInfo had an indicator to show when textures/meshes are shared across multiple assets but sadly the author doesn't play the game any more so it's unlikely that mod will get updates in the future :(
Disembodied Mar 1, 2020 @ 7:00am 
Thanks for this. One question, though:
How does MeshInfo report the textures of assets that Loading Screen Mod has shared across the assets? For instance, if I download a collection of assets all of which share a single texture (and let's say the texture is large) will MeshInfo report a bunch of assets each with a large texture, even though technically that texture only loads once? Or will it report a large texture for one of the items in the collection?
Hoax Jan 22, 2020 @ 7:31am 
Excellent stuff here. Thank you!
LemonsterOG Oct 3, 2019 @ 5:24am 
This is an FYI for the author:

I noticed that TM:PE reported the district style, French Architecture (Paris) as being broken, per my discussion in the workshop .

This issue has been resolved by the author. They removed the unique building in the collection that was causing the problem. You can now subscribe to the District Style without issue.

The BAD collection is here ----> Click Here

The FIXED collection is here ----> Click Here

I have updated my original workshop discussion and posted an update on the TM:PE page.
ozmorah Sep 20, 2019 @ 3:23pm 
I have not yet finished this guide; but already I can say, without a doubt, it is one of the best, most useful of all the guides I have read. I highly recommend it for anyone serious about CSL. Great work! Thank you.