Unreal Engine Integrations Now Available in Visual Studio 2022

David Li

A ship from the game Sea of Thieves made by RareUK in Unreal Engine. The image also shows Unreal Engine and Visual Studio logos.

Since the release of Visual Studio 2022, we have been focusing on building a cascade of productivity and performance improvements for game and large project developers. Today, we are happy to share the next set of features specifically aimed towards improving productivity for Unreal Engine development. We have heard and seen a tremendous amount of valuable feedback from you, our game developers. We want to give a special shoutout to all who participated in surveys, left Developer Community suggestions, and chatted with us on social media. These features wouldn’t have been possible without you.

In this blog, you will learn how to quickly see Unreal Engine Blueprint references, assets, and adding default UE classes without ever leaving Visual Studio. In addition, you can now boost your productivity even further with UE macro expansion and the newly re-imagined member list. All features mentioned below are available in Visual Studio 2022 17.5.

“This was a great collaboration to be involved in. Rare’s game team shared their deep knowledge and experience writing and shipping features in the Unreal Engine, and in return we benefit from a set of new tools which help us better understand context, avoid common mistakes, and get to the fun stuff more quickly. Everybody wins!”

-Sean Davies, Technical Director, Rare UK

Setting Up

Viewing Blueprints references, Blueprint assets, and adding UE classes are the current set of Unreal Engine specific integrations. These features are available by default and will only show up when you are working on an Unreal Engine project. To ensure these features are enabled, confirm that “IDE support for Unreal Engine” component is checked in the “Game development for C++” workload in the VS Installer. Both macro expansion and the reimagined IntelliSense member list do not need the component above.

The screenshot of the Game development with C++ workload in the Visual Studio Installer with "IDE support for Unreal Engine" checked.

Additionally, you must also install our free, open-source “Visual Studio Integration Tool” plugin to see Blueprint references and assets. For most UE developers, you can install the plugin through the Unreal Engine Marketplace. If your project is not compatible with Marketplace plugins, you can clone and install the plugin via our GitHub repo. You will find installation instructions located in each respective location.

Displaying Unreal Engine Blueprints and Assets

With the workload component and the plugin installed, Unreal Engine Blueprint references will start appearing as CodeLens hints positioned on top of Unreal Engine Classes, Functions, Properties.

With a quick glance, you can see how many Blueprint references are associated with your UE class, function, or property. Clicking on the Blueprint CodeLens hint will bring up all associated Blueprints. For those Blueprints containing an Asset Path, you can double click on the entry to open the UE Asset Inspector in Visual Studio. The newly opened window can be re-sized or docked for your convenience.

a recording showing how to see blueprint references

Adding Unreal Engine Classes

You can now add new Unreal Engine classes inside Visual Studio. To do so, right-click on your project folder in the Solution Explorer, then click Add -> UE Class… to open the Add New Item Wizard.

Image showing the context menu upon right clicking the project in the solution explorer. UE class wizard will be opened after clicking Add then UE Class

Once the Add New Item window is opened, you will be able to add one of 4 Unreal Engine class templates.

A screenshot of UE Class wizard showing 4 class templates: Empty, Actor, Character, Pawn

Expanding Unreal Engine Macros

One valuable piece of feedback on UE development is the pain felt when working with Unreal Engine macros. We want to provide a way of increasing your productivity when working with long UE macros. You can now read and understand macros more easily with a new monospaced font and formatted display while hovering over macros. Also, you can now copy the expanded macro should you wish to compare with another macro or paste the full macro elsewhere. Furthermore, “Expand Inline” will allow you to see the macro in the IDE with its full expansion. While this feature request originated from UE developers, we hope you will also find this feature useful in your non-UE C++ projects.

screenshot of expanded macro upon hovering, with new options to copy or expand inline

Reimagined Member List

Another piece of feedback we often hear from Unreal Engine developers is the lengthiness of Visual Studio’s IntelliSense Member List. Compared to most projects, the member list for Unreal Engine projects could potentially have hundreds of entries. Even with IntelliCode and Predictive IntelliSense turned on, we have heard the pain when trying to find the correct IntelliSense suggestion. You will find a reimagined member list for C++ projects. The reimagined member list promotes items to the top of the list with new criteria, including matching type items. If you have enabled IntelliCode along with this feature, the suggested entries will be ordered at the top of the member list. You will see in the tooltip whether an entry was suggested from IntelliCode or Predictive IntelliSense.

We are currently testing this feature. It will gradually become available in the next VS Previews. Your feedback is especially important during this time.

Even More C++ Productivity Features

We are hard at work building features that will improve the experience for all C++ developers, including Unreal Engine Developers. For more information, please see the latest productivity feature blog.

Feedback Wanted!

The features you see today are only a portion of our sustained efforts to improve game developer productivity. We will continue to build Unreal Engine integrations throughout Visual Studio 2022. Your feedback through Developer Community, surveys, and social media channels has made these improvements possible. We thank you for your valuable comments. These enhancements are a continuation of our focus on improving productivity for game developers.

In addition, please continue to help shape the development of Visual Studio by talking to us in the comments below, on Twitter (@VisualC), or via email at visualcpp@microsoft.com

Upgrade to Visual Studio 2022

Download the latest version of Visual Studio 2022 to take advantage of these Unreal Engine integrations today!

14 comments

Discussion is closed. Login to edit/delete existing comments.

  • Vaclav Elias 2

    That sounds Unreal! 😃

  • yuan mnm 0

    exciting and expecting

  • Ron Prestenback 0

    Love it! However, when invoking the commandlet (from within the IDE), the extension currently launches UE4Editor-Cmd.exe, which corresponds to the the “Development Editor” configuration. If that isn’t the configuration I’ve been working with (i.e. if the “Development Editor” binaries are out of date), the “Analyzing blueprints” action will fail with no reported error (just an exit code of 1).

    Each UE solution configuration/platform combination will generate a differently named UE4Editor-Cmd.exe. For the “DebugGame Editor” configuration, the corresponding cmd launcher is UE4Editor-Win64-DebugGame-Cmd.exe (for Win64 platform), for example. The naming format is “UE4Editor—Cmd.exe” (naming for the Win64 “Development Editor” binary is handled as a special case, and is the only case that doesn’t include the platform/configuration).

    You could check the timestamps for “UE4Editor-*Cmd.exe” to find the timestamp of the most recently built configuration/platform, and try running that instead. Or you could inspect the current solution configuration / platform settings to find the appropriate cmd launcher, and use that one.

    • Lukasz MendakiewiczMicrosoft employee 0

      Hey Ron.
      Thanks for the kind words and the detailed description of the problem. I will create an item in our internal systems for us to look into this more. If you would like to track the status, please feel free to file a report on Developer Community.

  • hrgell 0

    If you want to make software developers more productive with Visual Studio, then implement keyboard macros that work across projects, windows, buffers.

    • Łukasz MendakiewiczMicrosoft employee 0

      Thanks for your comment, hrgell. Visual Studio is using the Developer Community website for tracking feature suggestions. I have found this one regarding adding macros (back). Please be sure to upvote to express your interest in it.

  • Justin Poonwah 0

    Hey, thanks for all the effort! I’m currently developing an Unreal Engine project with Visual Studio community 2022 preview 6! When I heard about this feature I was totally stoked to finally get an insight into where my code was being used in Blueprints.

    After fiddling around and then sending a bug report to Microsoft, I was informed that this only works for usages of blueprint classes whose native parents are classes that you’ve created in C++.

    Again, Code Lens will only display usages for Classes that are the native parents of blueprint classes in your project. I think it’s worth making that abundantly clear. If you create a utility class filled with static methods, or a BlueprintFunctionLibrary class, these classes and functions will never display any Codelens usages. It will always display as 0 usages.

    • Łukasz MendakiewiczMicrosoft employee 0

      I see you have also reported the same on Developer Community here – thank you! Let’s follow the discussion there.

  • Dlvry Dryvr 0

    noyce

  • Yohann Martel 0

    Hi,

    Is it possible to know where vs-ue-tools.json should be located?

    From the doc, it should be in “$Env:Temp\vs-ue-tools.json”.
    But I think it’s not the right path, and it won’t work with multiple projects.

    Thanks a lot,
    -Yohann

    • David LiMicrosoft employee 0

      Hi Yohann,

      This is an example we’ve used in the docs to debug the command to manually invoke the plugin.

      It is for troubleshooting any issues and is not required for the actual usage in Visual Studio The path in that section is an example of where to put the output file and can be any folder you choose.

      • Yohann Martel 0

        Hi David,

        Yes I’m trying to manually create this file without using the visual studio button.
        On my game production, this visual studio button is not working and do nothing.
        We are using Unreal Engine 5.0 (customized), VS2022 17.5.3 (+ Game dev with c++, IDE support for Unreal Engine, Code lens is enabled).
        I’m able to generate this file using the commandlet without issue.

        Next step will be to generate the file inside the right path with the right name and see if visual studio is able to display metadata for codelens.
        After that, we can check why the button is not working.

        Are you able to help?

        Thanks,
        -Yohann

        • Francois Malassenet 0

          Have the same problem. as a matter of fact, even after a complete reinstall of VS 17.5.3, verification that the plugin is compiled and integrated, the “Menu button” does not show. Any help?

          • David LiMicrosoft employee 0

            Please try these troubleshooting steps. If those don’t work, please create a Developer Community ticket and reply with the link.

Feedback usabilla icon