Here’s a quick guide on fixing some of the most common issues in Call of Duty Black Ops 3 for PC.

Of course, you want to make sure you meet the minimum requirements. This time, requirements lean towards PlayStation 4 and Xbox One than last gen.

You will want to keep your drivers up to date. For gaming cards, Nvidia made Call of Duty Black Ops 3 Game Ready drivers, while AMD released their Catalyst 15.11 beta drivers. Your mileage may vary based on what graphics card you have, and of course Windows have their own drivers you’ll need to keep tabs on.

If you are missing DLL files, you can use this DLL fixer tool. If these don’t work, you will want to check configuration fixes, which we go into detail below.

Enter the directory you have downloaded your Steam games (SteamApps>common). From there, delete all the empty file folders, and then restart Steam. Steam will then redownload these missing files properly.

Go to Control panel > Hardware and sound > Sound > Speakers/Headphones > Configure. From here, set audio to stereo, or 5.1, and click apply.

This will require some back end coding. First, go here: Steam > steamapps > common > Call of Duty Black Ops III > players

Then, you will want to make a config.ini file. Open Notepad, copy paste this text below, and then save as config.ini, to the abovementioned folder.

.//

//Gameplay

//

 

//Frame rate cap (0 for none)

MaxFPS = “60” // 0 to 1000

 

//Show current framerate on screen

DrawFPS = “0” // 0 or 1

 

//Toggle framerate smoothing

SmoothFramerate = “0” // 0 or 1

 

//Horizontal field of view in degrees assuming 16:9 aspect ratio

FOV = “80” // 65 to 120

 

SplitscreenOrientation = “0” // 0 or 1

 

//Enable network voice chat

VoiceChat = “1” // 0 or 1

 

//Enable occlusion of sound behind solid surfaces

SoundOcclusion = “1” // 0 or 1

 

//Mouse smoothing amount

MouseFilter = “0” // 0 to 10

 

MouseAcceleration = “0” // 0 to 1

 

MouseSensitivity = “2” // 0.1 to 30

 

//Mouse vertical sensitivity

MouseVerticalSensitivity = “0.022” // -1 to 1

 

//Enable vertical look with the mouse

MouseVerticalLook = “1” // 0 or 1

 

//Maximum number of simultaneous human corpses

CorpseCount = “32” // 1 to 32

 

//Number of frames the driver is allowed to enqueue, a lower value improves input latency but may decrease performance. Set it to 0 to use the system default, usually 3.

MaxFrameLatency = “0” // 0 to 4

 

//

//Setup

//

 

//Set to zero to force auto-detect to run at startup

AutoDetectHasRun = “1” // 0 or 1

 

//Thread count for handling the job queue

WorkerThreads = “2” // 2 to 4

 

//Clear to check driver against recommended

LastDriverNvidia = “35887” // 0 or bigger

 

//Clear to check driver against recommended

LastDriverAMD = “0” // 0 or bigger

 

//Fraction of video memory usage to target

VideoMemory = “0.95” // 0.75 to 1

 

//

//Display

//

 

// 0 – Windowed, 1 – Fullscreen, 2 – Fullscreen Window

FullScreenMode = “2” // 0 to 2

 

//Window X position

WindowX = “0” // -8192 to 8192

 

//Window Y position

WindowY = “0” // -8192 to 8192

 

WindowSize = “800×600” // any text

 

RefreshRate = “59.95” // 1 to 240

 

//Monitor index to use for fullscreen

Monitor = “1” // 0 to 8

 

//Vsync only applies in fullscreen

Vsync = “0” // 0 or 1

 

//Percentage of window resolution that the 3D scene renders at

ResolutionPercent = “100” // 50 to 200

 

//Color spaces for monitor output

DisplayGamma = “sRGB” // sRGB, rec.709, or rec.709 – Limited

 

//Set to 3 to enable triple buffering, useful to prevent large framerate drops when vsync is enabled

BackbufferCount = “2” // 2 to 3

 

//

//Graphics

//

 

//LOD’s to drop on models, lower numbers are higher quality

MeshQuality = “1” // 0 to 8

 

//0 – Force 2x anisotropic filtering, 1 – Per material, 2 – Force 16x anisotropic filtering

TextureFilter = “1” // 0 to 2

 

//Number of mips to drop on streamed textures, lower numbers are higher quality

TextureQuality = “2” // 0 to 3

 

//Number of mips to drop on effects and dynamic decals, lower numbers are higher quality

TextureQualityFX = “2” // 0 to 15

 

//Number of mips to drop on reflections, lower numbers are higher quality

TextureQualityProbes = “1” // 0 to 16

 

//Number of mips to drop on sun shadows, lower numbers are higher quality

TextureQualityBakedSunShadows = “1” // 0 to 2

 

//Force lowest mips to stay loaded instead of streaming

TextureLowDetailResident = “0” // 0 or 1

 

DisableDynamicLightShadows = “1” // 0 or 1

 

DisableDynamicSunShadows = “1” // 0 or 1

 

//Resolution of spot light shadows

SpotShadowTextureSize = “1024” // 128 to 8192

 

//Resolution of omni (point) light shadows

OmniShadowTextureSize = “256” // 128 to 2048

 

//Enable multi-sampled soft shadows

ShadowFiltering = “1” // 0 or 1

 

//Number of lights with otherwise static shadows to force characters shadows on

ActorShadows = “0” // 0 to 16

 

//Enable volumetric sun and light shafts

VolumetricLightingEnabled = “1” // 0 or 1

 

//Number of raymarch samples for sunlight

VolumetricLightingMaxSunSamples = “8” // 1 to 256

 

//Number of raymarch samples for local lights

VolumetricLightingMaxLightSamples = “40” // 1 to 256

 

//Skip every other sample if color is constant

VolumetricLightingSkipSunSamples = “1” // 0 or 1

 

//Skip every other sample if color is constant

VolumetricLightingSkipLightSamples = “1” // 0 or 1

 

//Enabled order-independent transparency

OIT = “1” // 0 or 1

 

//Maximum number of overlapping transparency layers

OITLayers = “8” // 8, 9, 12, or 16

 

//Screen-space ambient occlusion method

SSAOTechnique = “GTAO Medium Quality” // Disabled, HEMIAO, GTAO Low Quality, GTAO Medium Quality, GTAO High Quality, or GTAO Ultra Quality

 

//Anti-aliasing technique

AATechnique = “Filmic SMAA T2x” // None, FXAA, SMAA 1x, Filmic SMAA 1x, SMAA T2x, or Filmic SMAA T2x

 

//Per-object motion blur

MotionBlur = “Auto” // Off, Auto, or On

 

MotionBlurQuality = “Medium” // Low, Medium, or High

 

//Better lighting for skin

SubsurfaceScattering = “0” // 0 or 1

If you’re hitting 30 FPS or below, disable dynamic shadows. If that doesn’t work, you can also try opening the config.ini file and changing WorkThread value from 4 to 2.

You will have to reinstall the game files via Steam completely.

Reaccess the config.ini file you made above, or look for the one the game made in the abovementioned location. Find VideoMemory, and replace the code there with this:

If that doesn’t work, you can also try opening the config.ini file and changing WorkThread value from 4 to 2.

You have to lower FPS to a framerate consistently lower than your monitor’s refresh rate. For example, if your monitor outputs at 60Hz, you need to set a framerate below 60FPS, such as 58FPS. Whatever that framerate is, your PC must be able to hit it all the time. If your monitor outputs at 1204 to 144Hz, test around for a framerate your PC can hit all the time.