0 of 0

File information

Last updated

Original upload

Created by


Uploaded by


Virus scan

Some manually verified files

About this mod

Utility for optimization of non-vanilla textures and meshes with the minimum possible loss of quality.

Permissions and credits

Last SMCO update was in 2013, so it has no idea about new BC7 compression format used in Skyrim SE. Use at your own risk.


SMCO optimizes:
- non-vanilla dds textures in \Skyrim\Data\textures\ folder
- non-vanilla nif meshes in \Skyrim\Data\meshes\ folder
- both of them in \Skyrim\Data\*.bsa files. BSAs are also compressed.
You can also select custom directory with files to optimize, but they must be in the same folders as used in game (from under \Skyrim\Data\textures or \Skyrim\Data\meshes) or exclusions won't be applied!

Program requires minimal to none configuration and was set up for the maximum compression with the minimum quality loss as a priority.

Why should I optimize my mods?

It is always better to have clean and efficient files.
After optimization you can expect:
textures - less vram usage, faster loading, more free disk space;
meshes - gain in fps, slightly faster loading;
BSA - effects from textures and meshes optimization + even more free disk space.


SMTO is fast :)
It has native 32 and 64-bit executables, supports multithreading and can take the advantages of multicore processors.
E.g. 5GB texture folder is processed in less then 3 minutes (performance was tested with SSD and i7 2600K 4.9Ghz HT Off).

SMCO has a hash comparison feature that makes subsequent optimization runs much faster (thanks to Nowhereville for the idea).
During first optimization SMCO remembers hashes of processed files and all runs after that will optimize only updated files. This also prevents from recompressing already optimized BSAs if there are no files in them that can be optimized.

Installation and usage

- Unpack anywhere
- Run SMCO32.exe or SMCO64.exe depending on what OS you have
- If Skyrim folder wasn't detected automatically, browse it manually. You need to provide path to the Skyrim's root folder (where TESV.exe and SkyrimLauncher.exe are located).
- Select DDS, NIF or BSA tab
- Configure number of threads
- Press "Optimize!" button

* Move your mouse above interface elements to read their descriptions.


Utility itself requires only DirectX 9 or above, but it uses external tools to convert and recompress.
You should have these installed to ensure all tools will work fine:
NET Framework 4
Visual C++ 2010 Redistributable Package (x86) or Visual C++ 2010 Redistributable Package (x64)
DirectX Runtimes


Backup folders
and your BSA files in ...\Skyrim\Data\ directory before doing anything!

Some additional info

NIF optimization:
This is a new option and you should be careful with it.
In contradiction to texture optimization it can cause game crashes.
Luckily such crashes happen only when entering area with optimized meshes and therefore are 100% stable ;) and can be easily tested.

If you found such meshes, please post them in a comments section so they can be added to exclusions.

BSA optimization:
Utility unpacks .bsa files, optimizes .dds textures and .nif meshes they contain and packs them back with a higher compression rate if possible.
This archives are ignored by the program:
Skyrim - *.bsa
Unofficial Skyrim Patch.bsa
All DLC archives and their unofficial patches

TESArchive tool is used to pack files, it automatically creates backup of a file it overwrites, but only a single one. Backup has .bak extension and is stored in the same directory as .bsa.

Sometimes size of BSA archive can increase after optimization, it's because SMCO doesn't compress BSAs that contain certain file types. If there is at least one file of such type, archive will not be compressed. That file may be unused ingame or duplicated as a loose file, so you might not notice any problems with original compressed BSA, but there is always a possibility.
SMCO tries to follow the vanilla archives compression rules, so it can fix errors caused by improperly compressed BSAs.

DXT5/3 w/ blank alpha -> DXT1
A8R8G8B8 w/ blank alpha -> DXT1
A8R8G8B8 -> DXT5
R8G8B8 -> DXT1
R8G8B8 -> R5G6B5
X1R5G5B5 -> DXT5
R5G6B5 -> DXT5
Wrong DDS dimensions -> Fix by resizing
Nif -> Stripify all TriShapes, combine properties and remove bogus nodes
BSA uncompressed -> Max compression if possible

Known issues

- Some NIFs after being optimized can cause crashes in game. Please report such meshes in comments thread.
- Not really an issue, but TESArchive also creates .bsl files along with the .bsa, they are not required by the game and can be deleted manually.