Unreal Engine Integrations Now Available in Visual Studio 2022
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
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.
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.
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.
Once the Add New Item window is opened, you will be able to add one of 4 Unreal Engine class templates.
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.
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.
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 firstname.lastname@example.org
Upgrade to Visual Studio 2022
Download the latest version of Visual Studio 2022 to take advantage of these Unreal Engine integrations today!
That sounds Unreal! 😃
exciting and expecting
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.
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.
If you want to make software developers more productive with Visual Studio, then implement keyboard macros that work across projects, windows, buffers.
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.
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.
I see you have also reported the same on Developer Community here – thank you! Let’s follow the discussion there.