If you are a returning user, make sure to reload the page to get any changes.

If you are reading this in the offline version,
click here to view the up-to-date online version

Table of Contents
  1. Description
  2. Installation and Compatibility
  3. Known AV Packages
  4. AV Package Guide
  5. Regional Variants Guide
  6. Who Is This Programmer?
    A Small Bit On Why I Made AV
  7. How Does AV Work?
  8. FAQ
  9. Reporting Bugs
  10. Troubleshooting
  11. Future Plans / ToDo
  12. Credits
  13. Legality
  14. Change Log


What Does AV do?

AV Provides an easy place to drag-and-drop alternate textures/models and have them automatically integrated into the game.


Never again will you have to choose only one texture or model from an entire selection.

Modders will offer AV Packages that you can drag and drop into your AV setup, and have them automatically integrated into your game. Think of it as a new way to install textures/models, where you don't have to pick just one.

If a texture/model pack you love doesn't offer AV Packages yet, don't fear! Just ask the modder to make an AV Package for their setup.


You can make 20 skins for Trolls, drop them into AV, and have every troll in the game suddenly pick a random skin from the 20 you made.

You can also now select cells that you want each variant to spawn in. So you could take those 20 trolls and make them only spawn in special places of Skyrim, if you wanted.

No hassle, no work in the CK, just drag and drop into an AV package using the wizard, and run the patcher. All the hard work of shuffling records around is done for you.

What should you expect from AV?

AV aims to make Skyrim a place full of diversity and variance; To never see the same thing twice.

It also strives to be extremely easy to use, while still offering an immense amount of power to users.

You should expect AV to make your world much more colorful, varied, and interesting... especially with the help of texturers/modelers to feed the algorithms with multitudes of choices to pick from.

What's in store for the future?

Down the road it will expand to allow for many more exciting features. Be sure to check the Future Plans section for a full list of ideas and plans for future updates.

Go to table of contents


Why does AV require a patcher?
AV is a little different than your standard mod, as it requires a patcher.

Many users wonder,
"Why does it have to have all these extra steps and a patcher? Why isn't this just an install via NMM then play mod?"

It is because what AV accomplishes is by no means normal, and just isn't possible using the Bethesda supplied tools. In addition, the patcher makes AV automatically compatible with every mod on the market, as well as be extremely stable, because it's built specifically for you and your setup. In reality, it's actually a good thing for you to have a patcher instead of a "simple" patch.

A similar mod without a patcher would require a huge list of compatibility patches, and be an absolute pain to keep up to date with and maintain.

I've designed AV to be as easy-to-use as possible. Just install Java, grab some packages, and run the patcher. I hope you enjoy using Automatic Variants as much as I have creating it!
- Lev


Installation Process

Here is a great installation video (2:45) to complement this readme. If you hate reading and just want to watch someone, it's fantastic. Still, my suggestion is you still read the following installation steps alongside watching the video.
  1. Extract or Install via Mod Manager
    Either manually merge the "Data/" folder from the zip into your "Skyim/Data/" folder, or use a mod manager program.

    If you are using a lesser known mod manager program, just confirm that all the files were successfully extracted from the .zip.

  2. Update your Java
    Just to make sure everything runs okay, update Java to the newest version.

    AV requires Java 7. (Link)

  3. Double check that Java associations are correct.
    Sometimes .jar files get associated with other programs like the "Java(TM) Web Start Launcher", or Unzipper programs (especially if you've played Minecraft).

    These startup programs are not correct.

    You want .jar files to open with "Java(TM) Platform SE binary".

    You can fix this by using the JarFix tool, or

    You can fix this manually by right clicking the "Data/SkyProc Patchers/Automatic Variants/Automatic Variants.jar" file and clicking "Opens With:", and then selecting "Java(TM) Platform SE binary".

  4. Download and Install Some AV Packages
    These are the packages of textures that you will actually see in-game.

    There is a default AV Packages on the Nexus that you can download to get started.

    There are also many 3rd party AV Packages out there. Here is a list of known AV Packages.

    AV Packages are made by other modders, and so they can package them any way they choose. A good packager will allow you to simply extract or install via NMM and be done with it.

    If the packager did a bad job, you may need to extract it to the correct location yourself.

    The correct location for packages is:
    "Skyrim/Data/SkyProc Patchers/Automatic Variants/AV Packages/ ( Packages go here )"

  5. Run the AV Application
    The patcher is located in "Data/SkyProc Patchers/Automatic Variants/Automatic Variants.jar"

    The patcher will process your current active mods and create the customized patch. You don't have to tweak anything in the program if you don't want to; You can just open and close the patcher program to make the patch.

    If you have more than one SkyProc patcher, you need to download and use (SkyProc Unified Manager) to run your SkyProc patchers.

    If AV doesn't work for any reason, check out this troubleshooting article stock-full of solutions.

    The most common reason for the patcher to not work is Windows Permission issues. This can be most easily identified if the AV Package viewer isn't displaying the packages you installed, or if patching results in an "Access Denied" error.

    There is a great article covering how to deal with windows permission issues if you encounter them.

  6. Put the generated Automatic Variants.esp at the END of your load order and activate it.
    It should even be after your Bashed Patch.

    Be aware that BOSS puts unrecognized plugins AFTER AV.

    If you want to force AV to always be last, you can use BUM (Boss Userlist Manager).
    Otherwise, just manually doublecheck AV is last after running BOSS, or accept that AV might skip unrecognized mods.

    will handle this whole step for you.

  7. Repatch AV when you add/update/remove/shuffle mods
    If you add or remove any mods or AV Packages, you must rerun the patcher to update your custom patch.

    You can do this simply by opening up the AV program or and pressing patch. The patcher will check your setup and determine if a new patch is needed; It may decide you do not need a patch and just close.

    If you are paranoid or wary you can always force AV to make a new patch.

Language Support

AV does not directly provide language support.
Download and use it to set your desired language for SkyProc patchers.

Uninstallation Process

To uninstall AV completely:
  1. Remove Automatic Variants.esp from your load order
  2. Remove the installed AV Packages from "Data/Textures/AV Packages/...".
  3. Remove the "Automatic Variants/" folder from "SkyProc Patchers/" folder.

Note: This will uninstall AV from your record system. However, be aware that Bethesda is bonkers and that messing with a savegame's mods mid-game may result in a broken savegame. AV is pretty safe in this regard, but no promises.

Compatibility With Other Mods

AV aims to be compatible with almost anything. It was designed to be able to take in any setup and work with it. This means any set of mods, with any patches, with any load order. Read More

Known AV Packages
This is a running list of known AV Packages that are available for download. Feel free to use all of them!

Remember that you can view the variant textures and disable any unwanted ones inside the AV program.

Go to table of contents

AV Package Guide

Quick AV Package "Style" Note: It is highly suggested that you make ONE package and one mod page for your AV variants, rather than making new packages and new pages for each new set of variants you come out with.

Similar to how Bellyache's is laid out, make a package that is named after YOU, and then add your variants to that package. When you make new variants, add them to the package rather than making a new one.

This will cut down on package complexity, as well as keep the "Nexus pointers" to a minimum on the Known Packages List, so users can go to as few pages as possible.

An AV Package is a collection of variant textures in a specific folder structure that AV can read in and process.

AV Packages are easy to create:
  1. Find the textures you want to make variants out of.
  2. Open the AV program.
  3. Go to Texture Variants.
  4. Click create new Variant.
  5. Follow the on-screen instructions.

Even though there is a wizard, it might be helpful to know how AV Packages are laid out.
An AV Package contains the following "sections":
(Using Bellyaches Animal's Werewolf variants as an example)
  1. AV Package
    A collection of all the Variants you, as an author, are packaging.
    "Bellyaches Animals"
  2. Variant Set
    A collection of Variants and their files that apply to a specific type of NPC. The set contains the "target profiles" that its variants will target. Use the wizard to help you pick these.
  3. Common Textures
    Any textures that you made, but you want to apply to all the variants, not just one. Texture normals are commonly put here.
  4. Variant Group
    If you are going for a simple package, you can just make a "Skin" group and skip this step.

    As an optional (but powerful) feature, you can create group folders that "multiply" together to yield one variant of each combination.

    Study Bellyache's werewolf package to see how the Eyes and Skin groups are multiplied together to get variants of every combination without needing 100+ Variant folders.
  5. Variants
    A collection of textures that make up one variant. Put each alternate texture in a different variant.
    "Black/Brown/Dark Brown/..."

In addition to the wizard and this readme, you can study existing packages to see how they are laid out. Sometimes an example is better than a thousand words.

Go to table of contents

Regional Variants Guide

What are Regional Variants?

This is a feature that lets packagers choose where they want their variants to spawn. It can also be used to mark areas "exclusive" for themselves, blocking other variants from spawning there unless they also marked the same area.

For example, you as a packager could make your own "clan" of falmer, and pick a specific cave for them to spawn in. They will ONLY spawn in that cave, nowhere else. You can also go a step further and make your falmer clan variants "exclusive", so that no other variants from other packagers will spawn in the cave. When a player walks into your cave only your falmers will spawn there, giving it a "unique" experience.

How to get what you want out of Regional Variants
When you are making your variant, or if you right-click "Edit Specs" on a variant in the Package Viewer,

you can see the Regional settings that allow you to pick where the variant will spawn.

From here, you can pick which cells you want your variant to spawn in, and whether you want those cells to be "exclusive": Blocking all other variants unless they also specifically mark that cell.

An Example of Regional Variants Results

Go to table of contents

Who Is This Programmer?
A Small Bit on Why I Made AV.

Who Am I?

My Online Portfolio

I am a recent Vanderbilt Computer Science graduate that spent most of his "study time" pounding away at the keyboard coding up Dynamic Leveled Lists before moving on to SkyProc a few months before Skyrim release.

In previous eras, I've been known to be a Graphic Artist, Film Director, Freelance Marvel Comic Recolorist, and even a Heavy Metal band guitarist. I've since left those to become a codin' nerd.

I love creating dynamic patcher programs that make extremely hard modding tasks (and sometimes impossible ones) possible. In my early modding days, I saw the horrors of trying to manage compatibility patches, and experienced first hand the tedious gruntwork required to make mods possible. Complex (but amazing) mods like Unique Landscapes needed piles of compatibility patches to even function. Just making the simplest changes to the game threw a wrench into everyone else's mods, making it extremely difficult to make any complex and interesting setups.

The original inspiration that started me coding was to create a way to easily merge two of my favorite (but incompatible) Oblivion mods: FCOM and WAC. The gruntwork required was astronomical, and so I started a journey to automate the combination of their Leveled Lists. I never actually completed that project, but it's lead to many more interesting patcher projects, such as Automatic Variants.

Making these mods that are cutting edge and hyper-compatible is my dream "job". I love designing these systems, and seeing all of you use them and enjoy the power they offer is quite a blessing.

A Small Bit on Why I Made AV

Aside from the obvious nice feature of having variants in-game as a player, I think AV is a tool that inspires new and existing modders. 

What new and upcoming texturer wants to create a new wolf or a new giant texture? End users can only pick one texture, and so unless they outshine the best of the best, they'll just get buried underneath and rot in the depths of the Nexus. I imagine a good deal of texturers don't even try to make textures, because they believe it's no use trying to convince users that they should use theirs.

AV offers a way for textures to feel like their work matters and will be seen and used. Even if it's not the best texture, it'll at least get to show up every so often in someone's variant pool. I feel that little bit of recognition is inspiration enough for them to make that texture and put it up. In the end, it's us that benefit as the community creates more content and we get to use it. 

I hope AV is the tool that gives those new guys a chance, and makes them smile because their mod is actually getting users and endorsements. I think that's something that will really empower the community and help it bloom. Everyone had to start somewhere. 8)

Thanks for using and supporting AV!
- Justin

Go to table of contents

How Does AV Work?

The backbone of AV is the processing library SkyProc.

SkyProc allows AV to read in your mods and see what you have.

AV then uses SkyProc to create a list of every possible combination of Race + Armor + Armor Pieces (skins) that your mod setup has. AV calls these "profiles".

AV then loads in your AV Packages and sees what you want to add into the mix.
It takes each variant and puts it into one of the profile "boxes".

Once each variant has found the profile it fits in, AV uses SkyProc to create new Texture (TXST), Armor Piece (ARMA), and Armor (ARMO) records that point to the variant textures.

AV then uses SkyProc to add a racial spell with a script to all the races that have variants.
The script has Form Lists loaded with variant skin (Armor) records to pick from.

It exports all the records and modifications to a patch.

You start Skyrim, an NPC spawns with the AV script, and the script picks randomly from the variant options and "equips" the skin using the equipArmor() function.

Voila! Different looking NPCs.
The result is an extremely clean setup (only a few previously existing Races and select NPCs are altered slightly), and an extremely safe setup. Uninstall AV? The NPC automatically unequips the missing armor reverting to its normal look.

Go to table of contents

Frequently Asked Questions

Install / Compatibility / Slow Computers AV Misc AV Packages

Will this be able to run on my slow computer?

AV is as hard/easy to run as the textures that you feed into it. If the packages you use have super high resolution textures, then it will be hard, and vice versa.

The only additional stress AV puts on your system is that having multiple variants in the same zone means that all their textures must be loaded into memory too. This just means you'll have a few more textures in memory, nothing game changing.

How do I upgrade AV from an older version to a newer version?

Replace the old Automatic Variants.jar with the new one. Usually a mod manager program will do this for you.

Once the new jar is in place, run it to update your esp file.

Do I need to uninstall my old textures? What happens to my current textures?

Nope! In fact, you should probably keep your old textures installed and continue to build your "normal" texture setup.

They still serve a purpose for AV as the "fallback" textures. If an AV Package only includes 3/5 textures an NPC needs, the missing textures will be grabbed from your normal setup to fill the gap.

In addition, AV comes with an "Optional As Variant" setting that actually puts the non-AV textures into the variant pool as a variant to pick from.

There is no esp file. Why is that?

This is because AV creates a customized patch for each user, and so it doesn't come with an initial .esp file.

Run the Java application, which will evaluate and process your mod list and create a customized patch just for you.

How do I handle a Bashed Patch with AV?

To create or update a Bashed Patch:

  1. Make sure the Bashed Patch is before any SkyProc mods in your load order.
  2. Rebuild the Bashed Patch, making sure it didn't process any SkyProc mods. It shouldn't if it comes before them in your load order.
  3. Rerun your SkyProc patchers so they can see the new Bashed Patch data.
Not doing this procedure correctly could mean that the Bashed Patch adds AV as a master. Since AV will also add the Bashed Patch as a master, you'll get a CTD when starting up Skyrim.

How do I handle multiple SkyProc mods with AV?

You need to download and use . This will manage multiple SkyProc patchers so you do not get circular patches that won't work.

How do I block a mod from being imported into AV?

Warning: You may think you're doing yourself a favor by blocking mods like SkyMoMod or Monster Wars, or other mods you think you don't want AV to mess with. This is actually not ideal, as AV needs to be aware of those mods and handle them properly. Only add mods to the blocklist that are truly breaking AV.

You can block a mod simply adding it to the blocklist found in:

Automatic Variants/Files/Blocklist.txt

If you're blocking a mod because you found that it broke AV, please notify Leviathan1753 and/or submit a debug report so it can be fixed, rather than just avoided. Thanks!

Should I erase my old .esp file before remaking a patch?

No, but feel free to do so if it makes you feel better. This has no effect on the stability or cleanliness of the resulting patch.

Is AV compatible with ____ mod? That mod changes NPC's stats, adds scripts to NPCs, and generally makes a lot of changes. Is AV still compatible with it?

In almost all cases, the answer is yes.

AV is based on SkyProc, which allows it to read in your -current- mod setup, and all the changes that comes with it, and make variants based on those modified NPCs.

Do you have a mod that adds a script to chickens to allow you to pluck their feathers? AV's variants will also have that script.

The same goes for stats, spells, and anything else mods could add/remove/modify.

I put textures in the "AV Packages/" folder, but now they are gone!

After every patch, AV moves the textures out to different locations, leaving the AV Packages folder empty. This is normal.

You can find the moved packages in "Data/Textures/AV Packages/..."

What werewolf skin will I get as a player? Will this make my player pick a different werewolf skin every shift?

Your player's werewolf will pick the standard werewolf skin (the one you would see if AV wasn't installed).

How do I uninstall a specific package?

  1. Open up the AV program. Go to the Textures panel, and disable the target package. Close the program and a new patch without that package will be created.
  2. You may then go to "Data/Textures/AV Packages/..." and delete the package to free up disk space.

If I replaced spider models with a bear model, will AV revert them back to being spiders?

No! AV loads in your current mod setup and works off of that, meaning it will respect your model change and keep it that way.

Do I need to put any default textures in my AV Packages? ex. I dont replace the normal map in my variants, should I include the default normal maps in my package?

No. Only add textures/maps that you have created yourself. AV will automatically "fetch" missing textures for you, so they do not need to be included in your AV Package.

If two AV Packages affect the same targets, can they be used together?

Yes. This concept is the foundation of AV.
Everyone can throw in their variants, and they all are meshed together by the patcher.

My new Bear variants aren't working.

Bethesda switched around Bear textures at the last minute, it seems.
Cave Bears use Normal Bear textures, and Normal Bears use Cave Bear textures.

Try swapping normal and cave bears and seeing if they work after that.

Polar bears are as you expect them to be.

Go to table of contents

Reporting Bugs

I need and love your bug reports.
AV is a complex program that is hard to fully test in all situations. It has to be extremely smart, pliable, and adapt to any and every mod/texture/model in your load order, no matter what mistakes or abnormalities other modders do. This is a hard thing to accomplish without testing every mod out there.

It is my goal to make AV the best it can be, and to do so I need your feedback!
If you have an issue, please contact me so we can get it straightened out and make AV an even more robust program.


To submit a bug report
  1. Rerun AV and select "Force Patch" and then exit.
  2. Please zip up the "SkyProc Debug/" folder, and the generated Automatic Variants.esp file if one was properly created.
  3. Send it all to Afterimage1753@gmail.com, describing the context and issue encountered.
    If you've made a post, please include your username so I can associate the two.

Paprus Debug Reports

These usually aren't needed.
Don't bother with doing a Paprus debug report unless I've asked you for it.

To create a papyrus log, first add these to your Skyrim.ini:


Then run around in-game and trigger the bugs again. The log will then be located in:
"My Documents/My Games/Skyrim/Logs/Script/Papyrus.0"

Go to table of contents


The AV Application isn't running properly:
Wacky error messages, empty Package Viewers, or empty patches.

This issue can be from a few sources.
This is a running list of things that could be causing issues for you:
  • Your Java is out of date. Make sure you have Java 7.

    Try updating your Java. Make sure you install the correct 32/64 bit version.

  • You have the wrong version (32/64 bit) of Java installed. Users who install the wrong version typically don't export right, and/or the application never exits during the export.

    Confirm you have the correct 32-bit or 64-bit version of Java installed.

  • You have .jar files associated with something besides Java.
    Some people have .jar files associated with WinRar or other programs besides Java.

    It has been reported that you have to change the default association back to Java; Simply doing "Open With..." without setting Java as the default is not good enough.

    Optionally you can use the JarFix tool to restore your Java setup the way it should be.

  • Windows isn't giving AV permission. This is a common issue that people run into.

    Here are some options to try. Try any or all:

    • Select the Skyrim folder, right-click, and select properties. You go to security, and click on the edit permissions button. Make sure to allow ANYONE to do everything with the folder. (Obviously, you'll need an admin-account to do so). The system will set the properties of the entire folder accordingly.
    • Move your Skyrim installation out of Program Files. Many modders move Skyrim out of Program Files because Windows puts especially strict protection protocols on that folder, and moving it out just simplifies your life.

      This is actually quite easy with Steam Mover.
    • Take ownership. Thanks R4444KKON

  • You're a non-English user and need to tweak some more stuff.

    First, try downloading and setting the language setting to match your Skyrim language.

    If this doesnt work, or if AV doesn't open in the first place, try this tip from niennasill:

    "Non-english windows users must be change their (windows) format, location, region and display language to English before executing Automatic Variants.jar if they are getting 5 kb Automatic Variants.esp after everything.

    To do this they must be download english language pack ( like 50 / 100 mb ) from windows update."

  • There is an exclaimation mark (!) in your folder path to Skyrim. People have reported this causing issues.

  • The registries in your Windows system don't have Java as the default "runtime environment", but rather a strange web version of Java.

    You can easily tell this is the case if when you open the AV application, a window that says "Java" pops up, and it looks like it's loading up the application. When AV is working properly, you should NOT see a Java loading window, but rather, the application should open immediately to the AV user interface.

    1. You need "Admin" rights to manually edit the Win7 registry.
    2. Run regedit program via the Windows "Start" menu, type regedit in the run window there.
    3. In the left-hand pane, go down to this subdirectory of the regedit file: Computer ==> HKEY_CLASSES_ROOT ==> Applications ==> javaw.exe ==> shell ==> open ==> command
    4. In the right-hand pane, right-click on "Name" and choose "change" or "edit". A little window pops open.
    5. On the lower line for the Value, delete anything AFTER the ...bin\ and put this instead:

      javaw.exe" -jar "%1" %*

      You can copy-paste this line. Make sure it is written exactly as above, with the quotes and everything. Afterwards the new value should read something like this:

      "C:\Program Files(x86)\Java\jre6\bin\javaw.exe" -jar "%1" %*

      This assumes that you have the Java JRE installed in C:\Program Files(x86)\...

    Thanks to Tommy_H for the fix!

    Original Link (in german):

Otherwise, please submit a report to me.

You get a Crash when opening Skyrim

This could be due to one of two common issues:
  1. Your load order is wrong, and you put AV to load before one of its masters. Usually solved by putting AV last on your load order.
  2. You have "circular masters".
    This occurs when two mods both have each other marked as masters, and so they both require the other to be loaded first, which is impossible because it's circular. Skyrim doesn't know what to do at that point and crashes.

    You probably didn't follow protocol when dealing with a Bashed Patch, or another SkyProc mod.

  3. The patch did not generate correctly and it is unreadable by Skyrim.

If you are unsure if you have circular masters, or don't know how to get rid of them, or believe circular masters isn't the cause of your CTD, please submit a debug report and I'll gladly help you out.

You've played with AV before, but recently models and textures are mismatched.

This most likely means you You forgot to rerun the patcher when you added/removed/updated a mod.

If you've rerun the patcher and are still getting issues, please submit a debug report.

The Package Viewer is empty, even though you have installed AV Packages.

This could be due to one of two common issues:
  1. You have windows permission issues. This is by far the most common reason.
  2. You have .jar files associated with another program (like WinRar or other unzippers), and not Java.
  3. You didn't install the AV Packages in the correct location. Might happen if you did it manually.

"Could not find the main class: automaticvariants.AV" Error

This is most likely due to either not having Java 7 installed (you might think you do, but you have Java 6 instead), or you might have both Java 6 and 7 installed and your computer is not opening AV with Java 7.


  1. Uninstall Java 6
  2. Install Java 7
  3. If the above doesn't work and you have Java 7, you can try this helper program or set up a .bat file.

The AV Application is running slowly while importing or creating a patch for a large mod setup.

This is due to the fact that the default memory size given to AV to use is too small for many large mod setups. This causes massive slowdowns when the program hits its memory limit.

Allocate more memory to AV in the Other Settings panel

Setting up a bat file to force-start AV, or give AV special instructions.

NOTE: AV does not currently make use of bat files. You can make one for yourself to start up AV with specific instructions.

Some versions of the Java installer don't modify the correct registries for the default bat file to work properly. A more direct/customized approach is needed.

  1. Create a bat file. Make a text file and rename the file extension to ".bat".

  2. Add the following to it:

    start C:\"Program Files"\Java\jre7\bin\javaw.exe -jar "Automatic Variants.jar"

    Where the path is customized/directed to wherever your javaw.exe is located. This is usually in the path setup shown above.

    Any directories with spaces need to be enclosed in quotation marks, as above. Putting the full path in speech marks / quotation marks does not work.

  3. Put it alongside Automatic Variants.jar and run it.

Your .esp was created, but Wrye Bash/CK/SkyEdit are having trouble with the .esp, or are showing the .esp has errors!

This is probably due to a "bad mod" in your load order. Someone probably did something abnormal and the program wasn't ready to deal with it.

Send me a bug report with your App Debug folder.

I'll figure out which mod caused the error, figure out what it did wrong/differently, and adjust AV to be more robust and handle any similar abnormalities in the future.

My package's textures are not being displayed IN THE AV PROGRAM like the rest.

AV can only display compressed DDS files at the moment. You can try opening your textures in Paint.NET and trying to re-save them as DXT5 or some other compressed format.

Go to table of contents

Future Plans / ToDo

Planned Major Features
  • Add support for items.
  • Far away lod texture support.
  • Stat variants. Stronger, weaker, faster, slower.
  • Sound and Visual Effect variants. In addition to having a new texture, a magic effect could be applied to the variant to make it look "ghostly" and have a sound effect going on it. Any spell effect you could imagine and make in the CK could be put on the variant to give it unique looks and effects.
  • Add naming prefixes/affixes to variants, so you could add one such as "Green" so that it will be "Green Troll" in-game.
  • Research into maybe having grass/terrain/other static object variants.
  • Add prefixes/affixes for different stat variances. A more clear example might be that if AV "rolls the dice" and a certain troll ends up weaker than normal.. then it might choose to add the "Diseased" prefix so that the troll would be named "Diseased Troll". A shorter troll might get the affix "Runt", etc.

Planned Small Features
  • Automatic downscaling of AV Package textures to a maximum size of user's preference.
  • Instead of moving textures to Data/textures/AV Packages/...
    AV would create hard file links that would reroute Skyrim to the normal AV folder.
  • Color coded help area.
  • Delete button in package viewer.
  • Spec files: Package Profile Page, Comments, Original Author's Profile
  • Check the checksums of each mod to better detect if a patch is needed, in case the load order remained the same, but the user updated one of the mods.
  • Have AV check for updates and notify user

Things to Daydream About
  • In-game scripts that coordinate with one another to pick similar but different looking textures.
  • Look into adding outfit variant lists. This would be a list of outfits to pick from so that farmers/miners/whatever pick different outfits every day.
  • Variant hair/eye color on generic NPCs
  • Variant hair models on NPCs
  • Smithing patterns added as items on NPCs
  • Variant body types for NPCs
  • Add craftable equipment to NPC's inventory to be used (maybe under a different modname)
  • Calendar variants that spawn only during a certain season/time.

Known Bugs / Oddities to be fixed
  • Female variants don't work
  • Falmer females pick male variants
  • Frost horse may pick regular horse variants
  • Horses might switch variants every so often
  • Check out Posh mudcrabs. Reported "purple hats".
  • Check out Gary's Mares mod, reported oddities.

Go to table of contents


  • Thanks to all the people that helped on the forums, recently, and also in the past when I was a budding modder.
  • Tes5edit for cross referencing SkyProc definitions.
  • Tes4edit for being awesome enough to get me started on modding as a kid.
  • Plutoman101 for being a killer dude.
  • Thanks a bunch to Bellyache for allowing the use of her textures as an AV starter pack!
  • Netbeans and Java for being extremely easy to use and awesome.
  • Wolverine2710 for being a testing cyborg maniac.
  • All the modders who make great content for AV to feed on, thanks! 8D

Go to table of contents

Go to table of contents

Change Log

v2.0.0.2 Beta (5/24/13)
  • Parses JSwords properly now.
v2.0.0.1 Beta (5/14/13)
  • BSA parsing fix (to properly parse SkyMoMod)
  • SUM merge bug fix
  • "Will run BOSS" warning
  • Speed optimizations
  • Progress Bar updates for new factory system.
v2.0 Beta (5/10/13)
  • Full Dawnguard/Dragonborn support.
  • Weapon Variants added. No official packages have been created yet, but the functionality is there to start experimenting and building.
  • Added experimental NPC mesh support. Follows the same concepts as texture variants. Add a nif to a variant folder, or a variant set.

    Additionally, you can add a special Variant Group called "[Global Meshes]" that contain Variant folders each containing a nif and an optional variant spec file. These global meshes will be applied to variants from OTHER packages as well as your own. (This lets you throw a new model in that easily applies to all variants from all packages)

    This feature is mainly to set up the internals to handle weapon meshes, as I don't expect many NPC mesh variants. If you're an author wanting to make mesh variants, talk to me on the AV forums. I'm going to spend my time on weapon variants instead of writing thorough official docs on the subject.
  • Adjusted the gather files code. That setting seems to have been broken somewhere down the line.
  • Added a large Variant Set (10,000 resulting variants) warning.
  • Lots of internal SkyProc optimizations and updates.
v1.6.3 Beta (2/7/13)
  • Added experimental NPC mesh support. Follows the same concepts as texture variants. Add a nif to a variant folder, or a variant set.

    Additionally, you can add a special Variant Group called "[Global Meshes]" that contain Variant folders each containing a nif and an optional variant spec file. These global meshes will be applied to variants from OTHER packages as well as your own. (This lets you throw a new model in that easily applies to all variants from all packages)

    This feature is mainly to set up the internals to handle weapon meshes, as I don't expect many NPC mesh variants. If you're an author wanting to make mesh variants, talk to me on the AV forums. I'm going to spend my time on weapon variants instead of writing thorough official docs on the subject.
  • Adjusted the gather files code. That setting seems to have been broken somewhere down the line.
  • Added a large Variant Set (10,000 resulting variants) warning.
v1.6.2 Beta (1/27/13)
  • Reintroduced option to use Hard Links (and not move package files). Initially turned off. Can be found in Texture Variants > Other Options.
  • Fixed an issue where reroute files weren't being properly used sometimes.
  • Fixed bug that would cause AV to repatch even when it didn't have to if run through SUM.
v1.6.1.1 Beta (1/14/13)
  • Rolled back the new AV Package hard link system. Will reintroduce after more testing.
v1.6.1 Beta (1/12/13)
  • Changed the file system to no longer move the AVPackages away from their initial installed locations. Instead, hard links are used to essentially put the same files in two different locations at once.

    This will help with compatibility with mod organizers that keep track of installed data, and simplify the AV code.
  • AV should now verify in Tes5Edit without errors. If you see errors pop up on your own setup, please email me a debug report and screenshot.
  • AV is now compatible.
  • Language support and Memory Allocation support within AV has been removed. Instead, users should use SUM to do these things.
v1.6.0.8 Beta (12/7/12)
  • Forces all AV skin records to be non-playable. Some mods out there were making skins playable, which would result in them appearing in the creature's inventory.
  • Fixed patcher to accept older spec files which it had previously been rejecting since the wizard came out.
  • Adjusted STRINGs file locating code to look for alternate language files if your selected language cannot be found.
v1.6.0.7 Beta (12/1/12)
  • Fixed a possible null ptr error.
  • had the patcher bundled with the zip. This patch has the correct patcher.
v1.6.0.6 Beta (11/25/12)
  • Officially switched over to the new SkyProc streaming internal system.
  • Fixed a remaining papyrus script error message.
  • Added RBS to the blocklist as it deals with humanoid NPCs and doesn't affect AV currently.
v1.6.0.5 Beta (11/24/12)
  • Fixed some papyrus script errors related to regional variant system.
  • Added some debug options in Other Settings to block/allow AV messages to the papyrus logs.
v1.6.0.4 Beta (11/12/12)
  • Snagged and accounted for more recent CK additions and changes to records in SkyProc.
v1.6.0.3 Beta (11/10/12)
  • A missed bugfix.
v1.6.0.2 Beta (11/10/12)
  • Bugfixes that were halting patch creation.
v1.6.0.1 Beta (11/4/12)
  • Adjusted SkyProc internals to handle new Skyrim update.
  • Adjusted BSA parsing protocols. (Blaze of Eventide)
  • Added missing records in SkyProc that newer mods were using. (Interesting NPCs)
v1.6 Alpha (9/3/12)
  • Added Regional Variants. Packagers can now optionally specify what cells they want their variants to spawn in.
  • Addressed a NIF parsing issue where effects (such as Spriggan leaf effects) being present might throw off the AV parser. Spriggans should be able to be made into variants now.
  • Fixed issue where when a new package was created, it wouldn't show up on the AV Package Viewer until restarting the program.
  • Added texture dimension display to the Package Viewer.
  • Reuploaded Bellyaches because Bear variants weren't set up properly.
  • Added a "No patch exists" trigger to is-patch-needed sensors, just in case someone manually deletes their patch.
  • Removed "Force Repick" feature as it didn't work 100% of the time.
  • Added a "Patch" button in addition to the big "X".
  • Fixed CTD on startup issue that occured if "skyrim.esm" was on Plugins.txt. (NMM started putting it on recently)
v1.5.2.1 Beta (8/9/12)
  • Extended BSA parsing code to deal with BSAs that don't set their file type headers correctly.
v1.5.2 Beta (8/7/12)
  • Dawnguard compatibility - SkyProc now looks for and retrieves strings from BSA files.
  • Fixed a small (but major) SkyProc exporting issue that made some AV patches break and result in no in-game variants.
  • Added initial multi-language support in Other Settings.
  • AV now cross-checks versions when determining if a patch is needed.
  • Fixed a bug that froze the wizard.
  • Fixed a BSA load order reading bug.
v1.5.1.1 Beta (7/31/12)
  • Put Extended Slider colors on a blocklist temporarily until a better solution is found.
    This shouldn't negatively affect anything as the mod does not apply to AV.
v1.5.1 Beta (7/30/12)
  • Finished AV Package wizards.
  • Changed the "Seed" standard to be "Target Profiles" instead, consisting of a Race/Armor/ArmorAddon (RACE/ARMO/ARMA) combination.

    AV still reads in NPC seeds and converts them to Target Profiles.
v1.5.0.2 Alpha (7/29/12)
  • Added Package Spec files with Packager field and Original Authors field.
  • Added a "Force Repick" option in the Other Settings of Texture Variants. This will force NPCs to repick their variants the next time they load.
  • AV Packages are now moved to "textures/AV Packages/..." and stay there. They are no longer gathered back and moved out every time the program runs.
  • Improved AV's NIF parsing to be more robust in retriving node names, allowing it to parse the NIFs from Bellyache's Dragons properly.
  • AV properly skips over odd variant profiles instead of halting the program.
v1.5.0.1 Alpha (7/27/12)
  • Fixed an NPC tagging bug that lead to some NPCs getting pointed to the wrong variant list.
    (eg. Frostbite Snow Spiders)
  • AV can now properly read in NIFs from SkyMoMod and similar formatted NIFs.
  • Changed the enable/disable system to not do any file moving (too many bugs). All info is kept internally.
  • Fixed a potential null error in the new 1.5 system to print a warning message instead.
v1.5 Alpha (7/26/12)
  • Reworked internal texture variant code to a new system that is much more clean, and also provides the necessary adjustments to easily allow the same logic functions to be used for other purposes such as the wizard helper code.
  • 1.5 is NOT savegame upgradable from 1.4 or previous AV versions.
v1.4.4 Alpha (7/23/12)
  • Added a wizard to help create AV packages. Only the basic (manual skin selection) wizard has been set up.
  • Stat variants in variant spec files have been temporarily shelved. (should have been earlier)
v1.4.3 Alpha (7/17/12)
  • Import / Patch necessary sensing. Will only make a patch if needed.
  • Improved package shuffling code. Should be able to handle clutter FILES (not clutter directories).
  • Vanity eyecandy additions.
  • Package Viewer bug fixes.
v1.4.2.2 Alpha (6/29/12)
  • Temporarily reverted to pre 1.4.2 file moving code.
  • Added more EDID duplicate debug output.
v1.4.2.1 Alpha (6/26/12)
  • Hotfix to re-enabled memory allocation code. Had been disabled in 1.4.2 on accident.
v1.4.2 Alpha (6/25/12)
  • Added a DDS viewer in the Texture Variants help panel. You can now see the textures in each package.
  • Set the stat variants to be OFF by default until they are stable.
  • Switched around protocols so switching stat variants ON/OFF in the GUI will have the desired effect.
  • Adjusted enabling/disabling code to better handle "junk" files inside AV packages.
  • Fixed other GUI bugs.
v1.4.1.2 Alpha (6/20/12)
  • Fixed an issue with some actors getting odd height scales due to the stat variants.
v1.4.1.1 Alpha (6/17/12)
  • Fixed issue with variant script running more than once on a single actor.
v1.4.1 Alpha (6/16/12)
  • Added Variant spec file modification inside the program. Variant SET spec files still need to be created by hand. Their modification GUI will be introduced in a later patch.
  • Added several stat variances:

    • Height
    • Health
    • Mana
    • Stamina
    • Speed
  • All of the stat variances can be bundled into a single randomized "strength" setting which will skew all the specific stats to be one direction or the other depending on the strength rolled. For example, a strong enemy will have a higher chance of being taller, more aggressive, have more health, while a low strength unit will be skewed to be lower. It is possible to get mixed results as well, as it's just a skew on the randomization.
  • Original As Variant setting was not being executed properly. Fixed.
  • Fixed a GUI bug that would occur if there was an empty spec file.
v1.4.0.1 Alpha (5/14/12)
  • Added the in-game scripts to the distribution. Sorry!
  • Fixed a RACE import issue triggered by StarX Frost Giants.
  • Consistency file moved to "My Documents/My Games/Skyrim/SkyProc/Consistency"
v1.4 Alpha (5/14/12)
  • Experimental new system using the in-game papyrus function EquipItem() as the means of selecting which variant to choose from a set of Form Lists. This replaces the old system which duplicated NPCs for each and every variant and adjusted template chains. This new system should be lightweight, easily expandable, clean, and safe if Bethesda wrote EquipItem() without any bugs or oddities.

    Thanks Pluto!
  • You shouldn't have to start a new game when installing AV anymore, as the script attachment system shouldn't trigger the same bugs that introducing new records previously did.
  • You can now safely delete old AV .esp files at your own leisure without the risk of ruining your savegame. Added an improved consistency system that stores FormID information in a specialized consistency savefile.
  • The setting "AV Prepping" has been removed as it is not needed in the new system.
  • Internal systems have been rearranged in preparation of integration with SUM (SkyProc Unified Manager)
  • Fixed null pointer bug when a modder had an armor pointing to an armor piece that didn't exist.
v1.3.2 Alpha (4/19/12)
  • Added special restrictions to Fox variants. Since FoxRace is the default race given by the CK to new NPCs, a lot of accidental or lazy modders will inevitably keep it that way and receive any Fox variant duplications. Therefore, any Fox variants will explicitly check if either the Editor ID or the Name has the word "Fox" in it before applying any variants.
v1.3.1 Alpha (4/19/12)
  • Replaced the "AV Starter.bat" functionality with a GUI option to set the allocated memory for AV.
  • Logs will now be separated into sizable chunks rather than one gigantic asynchronous log.
  • Added a "Minimize Patch" option that will do extra work to shave off most unnecessary duplicates and save patch space.
v1.3 Alpha (4/18/12)
  • Restructured AV Packages to have another layer called the "Variant Group" layer. These groups will have their contained variants "multiplied" together, so that a combination of each of their variants is created. This is good when you have different types of variant files, such as skin group and eye group, and you want combinations of both kinds to be made into variant NPCs.
  • Variant Groups will automatically have their probabilities adjusted so they don't overwhelm packages that don't make use of them.
  • Added a "AV Prep" setting that creates "empty" variant setups for all NPCs that don't currently have AV variants for them. This will hopefully minimize or eliminate savegame bugging when AV variants are added to those NPCs later.
  • Added an "original as variant" option that makes the current NPC setup a variant that can be chosen, in addition to the AV variants explicitly created in a package.
  • Added a "Compress" option that can be accessed while right-clicking a package. This will reroute and rearrange files to save space and report the results.
  • Added AV version numbers on the GUI.
  • Added "Import Mods on Startup" setting.
  • Fixed a bug when an imported mod had too many masters.
  • Added an AV Starter.bat to allocate more memory to AV.
  • Adjusted protocols to handle a previously unsupported NPC structures (such as Skyrim Trolls).
v1.2.4 Alpha (4/8/12)
  • Revoked alternative way of applying variants, as it was more unstable.
v1.2.3 Alpha (4/8/12)
  • Exploring an alternative way of applying variants via setting NPC races instead of setting NPC skins.
  • Added Other Settings panel with "Debug Level" setting.
  • Added "Gather Files and Exit" button in the Texture's panel.
  • Fixed a logic issue when a variant set had two seeds with different skins but both pointed to the same nif file and had the same alt texture set (or both had none).
  • Fixed an issue which was resulting in prematurely closed debug logs due to the new GUI initializing code.
  • AV now cleans up old faulty bat files.
v1.2.2 Alpha (4/5/12)
  • New AV GUI structure has been released. This will provide the base for future feature options/settings access.
  • Packages can now be disabled/enabled using the GUI.
  • Fixed an issue with master list ordering.
v1.2.1 Alpha (4/5/12)
  • Readjusted internals to fix alt texture indexing mismatches on some of the more complex packages.
  • Added a block for NPCs that are templated to a LList (anywhere on its chain), but don't have the traits flag checked.

    This leads to an AV-caused double LList template chain, which Bethesda cannot handle. I have not found a way to squirm around the structural complexities to make these situations possible, and so they are being skipped for now.

    You can check the list of "blocked" NPCs that wont have variants in the debug file "Blocked Records.txt"
  • Adjusted SkyProc FormID index standardization and master list compilation protocols. There was a hole where potentially necessary masters would not be added.
  • Bellyaches v3 is complete with all available creatures.
v1.2 Alpha (4/2/12)
  • Revoked the internal system toa pre-1.1 structure, with additional protocols to handle its shortcomings with Bethesda not accepting multiple LLists on a template chain.

    No more in-game scripts are used for texture variants.

    Instead a great deal more NPCs are duplicated, and have their template information "flattened", meaning the template information they would draw on using Bethesda's template system is instead embedded into their records. This is to help squirm around Bethesda's templating limitations.
v1.1.3 Alpha (3/24/12)
  • Made consistency patch importing more robust.
  • Made Skyrim.ini parsing for BSA load order case insensitive.
v1.1.2 Alpha (3/22/12)
  • Added popup dialogs for when the program cannot automatically locate Plugins.txt or Skyrim.ini. The user can then find them manually, and the program will save the location for next time.
  • Added a major popup message if the consistency patch fails to import. The failed old patch will be moved to the debug folder so that it can be shipped in a report. A new patch will still be generated without the consistency patch. (Consistency patch is just the old plugin imported first to allow for the new patch to retain the old FormIDs.)
  • The in-game script has been renamed to AVRaceAttachment (from AVraceSwitcher). Feel free to delete the old script from your scripts folder.
v1.1.1 Alpha (3/21/12)
  • Added missing script files to the distribution.
v1.1 Alpha (3/20/12)
  • Added an "AV Package Analyzer" in the Files/ folder. This program will help you figure out how to structure your AV Package by analyzing your .dds files.
  • Rewired the entire interal system of AV to be more robust, using in-game scripts to accomplish the variant changes.

    AV now duplicates a good amount of the same records as before, but now loads Races associated with each variant skin onto its own Form List (list of variant races). The list is then referred to by an in-game script which calls SetRace() on a random race from its list.

    Bound weapons bug out during race switching in-game (thanks Bethesda), so the AV script checks for bound weapons, removes them, and then re-adds them approximently .5 seconds after the switch. Actors seemed to pull them out and act like normal after they were re-added.
  • Added progress bar functionality to AV.
  • Made the .bat files more generic. If they are not working, refer to the troubleshooting section.
v1.0.3 Alpha (3/9/12)
  • IMPORTANT: Switched to a new FormID format in specification files. "000123Skyrim.esm" is now ["000123","Skyrim.esm"].
  • Changed patch name to "Automatic Variants.esp" from "Automatic Variations.esp"
  • Bugfixed consistency issues with multiple skins using the same variants (as found in StarX's package)
  • Removed some temporary testing lines around the probability code that were causing issues. (EncWolfIce didn't have the proper probabilities in Bellyache's package)
v1.0.2 Alpha (3/7/12)
  • Fixed some null pointer errors.
v1.0.1 Alpha (3/5/12)
  • Added AV logo to GUI.
v1.0 Alpha (3/4/12)
  • Initial alpha release.

Go to table of contents