Making Assassins Creed: Unity Play OK

Assassins Creed is a really nifty psuedohistorical series of parcourt assassination games, and Assassins Creed: Unity is one of the recent entries in the series — which was included in a Humble Bundle of most of the titles. This post is not a news flash. It is a summary I'm writing because I don't want to have to track this information down again, distilled from a couple of pages I found googling.

Blah Blah

(The meat of the post follows this blather)

My first Assassins Creed game was Brotherhood, which I played on the Xbox 360. This was a fairly well-polished title, and I enjoyed playing it through. But Origin (the current license holder) decided to release most of the catalogue cheaply in the form of the Assassins Creed Humble Bundle, and I bit. Presumably, the idea is both to inflate the number of Uplay users, and also to sell the latest game in the series, Syndicate.

Unfortunately, what the bundle really served to do (for me, anyhow) is show just how the quality of the games has fallen over time. The very first game provided an amazingly smooth experience. Later titles each add new gameplay mechanics and welcome complexity (like more interior locations), but the overall quality decreases. I found myself tripping over more obstacles that weren't there in the first few missions of Unity than I experienced in the entirety of Brotherhood, for example.

The problem

This brings us to actually discussing the newest game in the bundle, Unity. This game is a significant step forwards technologically, with substantially higher model complexity, much better motion, and several new combat mechanics. It features an absolutely excellent in-game map, which is a joy to use not just compared to the earlier games in the series, but to most games in general. But the graphics performance is inexplicably rotten not only on the PC, but also on console systems. What's worse, even reducing the graphics options doesn't help much, and the difference in quality between medium and high detail is dramatic.

Now, I will admit that my PC is not exactly a monster by modern standards. It's a FX-8350 on a Gigabyte G1 gaming with two Zotac GTX 950 AMP! 2GB cards in SLI; one of them was a RMA replacement for a failed 750Ti, and I bought the other one to go with it. These are actually very nice cards which will spin their fans down completely when doing light work, like 2d graphics or just a windows screensaver, albeit fairly slow. By overclocking them and running them in SLI, I get performance like a GTX 970 in the Heaven benchmark, which is not too shabby. My SSD is a Samsung 850 Pro, and I have 16GB of RAM. It's not fast, but it's not slow, either. It should be more than enough PC to run this game at 1920x1200, and it is; on the PC, it is at least possible to do something about the performance problem by tweaking options.

The solution

The short, short explanation is that Ubisoft somehow totally boned antialiasing, and they disabled driver-controlled FXAA and vsync and do it themselves, apparently — and badly. You can use nVidia Inspector to force FXAA and vsync (if desired) in the driver, at which point the game inexplicably runs just fine. I could wish for better performance, but it's really not bad.

Like the reddit thread I found says, in the game settings you want to disable PCSS, MSAA and TXAA, as well as in-game vsync and antialiasing, and select borderless windowed mode.1 Then, using Inspector, you set the options which Ubisoft locked out for you, because they are so very helpful. The interesting thing to know there is that you disable antialiasing, but then enable FXAA, vsync, and triple buffering. The frame rates tend to be low enough even on high end PCs that vsync is a good idea, because tearing isn't going to make it look any better. Finally, you modify your ACU.ini file2 to change some invisible game options that affect performance.

ACU.ini

First, the following goes into the [Graphics] section, overwriting any similar entries there but leaving the graphics card information at the top:

WindowMode=1
VSync=0
Stretching=0
EnvironmentQuality=2
TextureQuality=1
ShadowQuality=0
SSAO=0
Bloom=0
AntiAliasingMode=0
Multisampling=0
Tessellation=0
Anisotropic=0
LODBlend=0
ReflectionQuality=0
GodRays=0
MotionBlur=0
UseVolumetricFog=0
ApexParticles=0
Particle=0
PostEffectsQuality=0
PostFX=0
ShadowDistance=1
DistanceLODEnabled=1
DistanceLOD=2
SmallObjectsCullDistanceModifier=5
MediumObjectsCullDistanceModifier=5
AdvancedDynamicLighting=0
Layers=0
MaxNPCLODLevel=0
ShadowMapSize=128

Then you also add this section to the file:

[Performance]
MaxNumNPCs=60

These changes make relatively little graphical difference to the game; they certainly don't impinge upon the quality of the player models, any of the textures, or so on. It does remove some of the special lighting effects and such, but it's nothing you're going to notice during play whatsoever. Some of these settings may be present in your file; if so, overwrite them with these settings. Some users have reported that some of these settings get reset to other defaults when playing if they don't change as many of them as possible through the game interface itself. If this happens to you, you can just set ACU.ini read only.

Results

Benchmarking? Pshaw. No need here; the game went from being basically unplayable to being actually quite smooth and enjoyable. So enjoy! But also, boggle at how badly this game was botched...

  • 1. In general, Windows video drivers do much better with borderless windowed mode than genuine full screen mode — you should always use borderless windowed mode instead of full screen when available.
  • 2. C:\Users\username\Documents\Assassin's Creed Unity\ACU.ini

Add new comment

Default

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • You may link to images on this site using a special syntax
  • Web page addresses and e-mail addresses turn into links automatically.
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.
  • Internal paths in single or double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or path. Paths to files in single or double quotes, written as "files:somefile.ext", for example, are replaced with the appropriate URL that can be used to download the file.
  • Filtered words will be replaced with the filtered version of the word.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <q>

Issue

  • Lines and paragraphs break automatically.
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>

Drinking Game

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <p> <br> <pre> <h2> <h3> <h4>
  • Images may be embedded like: [image:node_id align=alignment hspace=n vspace=n border=n size=label width=n height=n nolink=(0|1) class=name style=style-data node=id] Leave off any attributes you don't want.
  • [img_assist|...] tags will be displayed, maybe. Please don't make more of them.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Refresh Type the characters you see in this picture. Type the characters you see in the picture; if you can't read them, submit the form and a new image will be generated. Not case sensitive.  Switch to audio verification.