Setting Up Visual Studio for UE4

Unreal Engine 4 (UE4) is designed to integrate smoothly with Visual Studio, allowing you to quickly and easily make code changes in your projects to immediately see results upon compilation. Setting up Visual Studio to work with UE4 can help improve efficiency and the overall user experience for developers using UE4.

In this document, we'll also cover the basics for setting up your UE4-to-VS workflow.

Before Setting-up your UE4-to-VS Workflow

In Visual Studio 2017 (VS2017), Support for C++ is now part of optional workloads that aren't installed by default. For detailed instructions on adding C++ tools to your existing Visual Studio installation, see Install C++ support in Visual Studio on the Microsoft support section. If you have not yet installed Visual Studio or the Unreal Engine, see Options for a New Visual Studio Installation, below.

The following table lists which versions of Visual Studio are integrated with the binary version of UE4.

Unreal Engine Version

Visual Studio Version

4.15 or Later


4.10 to 4.14


4.2 to 4.9


Open source versions of UE4 (available via GitHub and P4) are integrated with VS2013. Also, earlier versions of UE4 integrated with older versions of Visual Studio aren't covered in this document.

Recommended Settings

The following are recommended settings for developers using Visual Studio with Unreal Engine 4.

  1. Right-click on the toolbar and select Customize at the bottom of the menu that appears.
  2. Click on the Commands tab.
  3. Select the Toolbar radio button.
  4. In the dropdown next to Toolbar, choose Standard.
  5. In the Preview list, select the Solution Configurations control.
  6. Click Modify Selection on the right.
  7. Set the Width to 200. Then click OK.
  8. Click Close. Your toolbar should update immediately.

Here are some other steps you may find useful:

  • Turn off Show Inactive Blocks. If you do not, many chunks of code may appear grayed out in the text editor (Tools > Options > Text Editor > C/C++ > View).
  • Set Disable External Dependencies Folders to True to hide unneeded folders in the Solution Explorer (Disable External Dependencies Folder in Tools > Options > Text Editor > C/C++ > Advanced).
  • Turn off Edit & Continue features, you do not need them (Tools > Options > Debugging > Edit and Continue).
  • Turn on IntelliSense. See Intellisense, Live Errors, and Squiggles, below.

Visual Assist X Users

If you have Visual Assist X installed:

  • Turn off Format After Paste (VAssistX > Visual Assist X Options > Advanced > Corrections).
  • If you don't disable this option, Visual Assist X automatically formats your source code, potentially resulting in poorly formatted documents.

Options for a New Visual Studio Installation

If you're installing Visual Studio for the first time, you'll want to make sure that you have the following options enabled.

Include the UE4 Installer

To include the UE 4 installer when installing Visual Studio, locate the Summary sidebar on the right, expand Game Development with C++, and under Optional make sure the box for Unreal Engine installer is checked.

C++ Tools

To add C++ tools to your Visual Studio installation, make sure you select Game development with C++ under Workloads.

Intellisense, Live Errors, and Squiggles

UE4 projects now have proper IntelliSense support, including a live Error List and squiggles. (See below for how to enable it.)

IntelliSense recompiles C++ as you type. This is a lot more powerful than only VAX's syntax checking, as it uses a full C++ compiler that verifies every line of code. It is awesome and it will speed up your workflow!

VC++ Intellisense Squiggles

Along with squiggles, you will also see IntelliSense errors in the Error List for any file you are looking at. You can turn this on or off in the right-click menu in the Error List.

Error List

You may have already disabled Squiggles because they did not work with UE4 projects. Make sure to hit the C/C++ Advanced tab and use settings similar to below.

VC++ Advanced Options

When you open a C++ file, you can see the IntelliSense compiler "working" by looking for this icon:

Intellisense Progress Indicator

Implementation Details

  • It sometimes takes a few seconds for squiggles to appear when you edit code.

    • This is just because we have tons of include files, and IntelliSense does not use PCHs currently.

  • Sometimes you will see "false positive" IntelliSense errors. There are a few possible reasons.

    • The IntelliSense compiler (EDG) is more strict than the MSVC compiler.

    • Some #defines are setup differently for IntelliSense than when building normally.

    • C++ compiled by IntelliSense is always treated as 32-bit.

  • You can wrap code in #ifdef **INTELLISENSE** to eliminate squiggles if absolutely necessary.

  • The IntelliSense errors are phrased a bit differently than the VC++ compiler's errors. That is just how it is.

  • Squiggles in header files work by compiling the header against a known .cpp that includes it.

    • Sometimes IntelliSense screws this up and you will see squiggles in headers.

  • There is a Max Cached Translation Units setting (shown above) that you can increase if you want.

    • It uses more memory, but might increase responsiveness a bit.

  • A few C++ files still are not compatible with IntelliSense yet.

  • Unreal Build Tool has a new -IntelliSense option.

    • This will spit out IntelliSense property sheets for all of our project files.

    • This only needs to be re-run when new modules are added, or project includes are changed.

UnrealVS Extension

The UnrealVS extension for Visual Studio provides easy access to common actions when developing with Unreal Engine 4. See the UnrealVS Extension page for information on setting up and using the extension.

Features include:

  • Setting the Startup Project.
  • Bindable command for building the Startup Project.
  • Setting the command line arguments.
  • Batch building projects.
  • Quick Build project menu.

The UnrealVS extension does not work with the Visual Studio Express editions. It is only compatible with Visual Studio Community and Professional editions.

See the UnrealVS Extension page for information on setting up and using the extension.


Visual Studio has support for extending the debugger with visualizers that allow easy inspection of common Unreal types such as FNames and dynamic arrays.

Installing the UE4 Visualizer for Visual Studio 2013

Installing the UE4 Visualizer is a two-step process.

  1. Copy UE4.natvis to either of the following locations:

    • [VisualStudioInstallPath]/Common7/Packages/Debugger/Visualizers/UE4.natvis

    • [UserProfile]/My Documents/Visual Studio 2013/Visualizers/UE4.natvis

Copying the file to your Visual Studio install directory may require administrator permissions.