A Year of C++ Game Development Improvements in Visual Studio 2022
Learn more about the features and improvements the Visual Studio team made for games developers in 2023.
As we enter the new year, it’s a good time to look back at all the features and improvements the Visual Studio team has made for games developers in our tools in 2023. Over the past year, we’ve worked hard to bring you the latest design time productivity features, as well as added UE specific integrations for Visual Studio that will help you reduce mental task switching. We’ve also added debugging productivity features to Build Insights, which are designed to make you more productive by providing you with more debugging tools and help you reduce your build times. Let’s take a closer look at this year’s new features and improvements in Visual Studio 2022.
Overview
Design Time Productivity
- All-in-one Search
- Memory Layout Visualization
- Include Cleanup
- HLSL Support
Unreal Engine Integrations
- Unreal Engine Blueprint References and Asset Inspector
- Unreal Engine Code Snippets
- Unreal Engine Macro Specifier Suggestions
Debugging and Diagnostics
- Breakpoint Groups
- Build Insights
Performance Improvements
Cross-Platform Development
- CMake Debugger
- Remote File Explorer
Design Time Productivity
Over the past year, the Visual Studio team has worked hard to bring you the latest design time productivity features. All these improvements are designed to improve your inner loop workflow. Besides the general IDE features, we have listened to and worked with game developers to create productivity enhancements for the whole C++ community.
Sticky Scroll
Sticky Scroll gives you context for the current code location in your editor by sticking the top line of nested blocks to the top of the window.
Brace Pair Colorization
Brace Pair Colorization lets you easily see matching brace pairs by making them the same color.
Spell Checker
The new Spell Checker finds and corrects spelling issues in your code.
All-in-one Search
All-in-one Search joins together the code search and feature search functions into one tool.
File Comparison Window
You can now compare files straight from the solution explorer with the File Comparison window.
Copy-paste with Correct Indentation
Copy-paste with correct indentation makes it easier to accurately share code with others.
Doxygen for Overloaded Functions
Before
After
Macro Expansion Visualization
You can now copy, expand inline, and see step-by-step macro expansion with Macro Expansion Visualization. This is especially helpful for long Unreal Engine macros.
Structured Diagnostics
Visualize complex, hierarchical compiler errors with structured diagnostics.
Size and Alignment of Types
See size and alignment of types directly in the editor.
Memory Layout Visualization
Use our new memory layout visualization tool for seeing how types will be stored in memory.
Include Cleanup
Optimize your #includes with #include directive cleanup.
HLSL Tools by Tim Jones
Edit HLSL shaders with improved HLSL editor integration.
Unreal Engine Integrations
Unreal Engine developers are one of our biggest groups of game developers. We have heard loud and clear about the need to develop UE specific integrations for Visual Studio. The team has created a multitude of integration features that will help you reduce mental task switching.
Unreal Engine Blueprint References and Asset Inspector
Navigate your Unreal Engine Blueprints with the new Unreal Engine Blueprint References and Asset Inspector. Available gradually to select users in Visual Studio 2022 version 17.9, viewing Blueprints will no longer require the use of our Unreal Engine plugin.
Unreal Engine Log Viewer
Use the Unreal Engine Log Viewer to see your UE logs directly in Visual Studio.
Unreal Engine Macro Formatting
Unreal Engine macro formatting ensures that your UE macros are handled appropriately by the auto-formatter.
Unreal Engine Naming Convention Checker
Use the Unreal Engine naming convention checker to ensure your code conforms to expectations.
Unreal Engine Blueprint Find All References
Find all UE Blueprint references with a single command using Unreal Engine Blueprint Find All References.
Unreal Engine Test Adapter
The Unreal Engine test adapter adds your UE tests to the Test Explorer window.
Unreal Engine Code Snippets
Use Unreal Engine code snippets to quickly generate common UE-specific code.
Unreal Engine Macro Specifier Suggestions
Available gradually to select users over the upcoming weeks, Unreal Engine macro specifier suggestions gives you IntelliSense suggestions and a quick description of UE macros without you having to leave your editor.
Image Watch for UE Projects
Image Watch is a Visual Studio extension that helps you to view in-memory bitmaps while debugging C++ code. The extension now supports now supports Unreal Engine’s FImage type.
Debugging and Diagnostics
We understand how important debugging and diagnostics are for game developers. From debugging productivity features to Build Insights, these features are designed to make you more productive by providing you with more debugging tools and help you reduce your build times.
Breakpoint Groups
Breakpoint groups let you organize breakpoints to make large collections easier to manage.
Parallel Stack Filtering
Parallel stack filtering lets you selectively display or hide specific threads or frames.
Instrumentation Tool: New "Start with collection paused" Option
You can now launch the Instrumentation Tool with collection paused.
Build Insights
C++ Build Insights is a collection of tools that collect data about your C++ builds and present it in a format that can help you answer common questions, like:
- Are my builds sufficiently parallelized?
- What should I include in my pre-compiled header (PCH)?
- Is there a specific bottleneck I should focus on to increase my build speeds?
Last year, we integrated Build Insights into Visual Studio, letting you see details on how your #includes are affecting your builds:
We then added a Functions View for seeing the amount of time the compiler took to process specific functions:
Most recently, we added a Templates View for viewing info related to template instantiation:
Performance Improvements
Opening and Closing Visual Studio
We have improved time-to-open and time-to-close.
Time to Colorization
See your code get colorized faster.
Debug Launch
You can now launch the debugger faster.
Cross-Platform Development
Cross-platform is one of the more common workflows for game development. Whether you are developing on Windows, console, or mobile, we have created tools to help you become more productive when making multi-platform games. If you use Linux, don’t miss our blog on how the Diablo IV team used Windows Subsystem for Linux (WSL) to debug core dumps.
Integrated Linux Terminal
The Linux Integrated Terminal allows you to debug Linux applications with a fully-featured terminal experience directly inside Visual Studio.
Test and Build Multiple CMake Targets
You can now test and build multiple CMake Targets from the CMake Targets view.
CMake Debugger
Use the CMake Debugger to debug your CMake scripts like you would any other program. You can set breakpoints, see the values of CMake variables at the current point of execution, and more.
Remote File Explorer
Use the Remote File Explorer to see a directory tree of the files on a remote system.
Automatic WSL Installation
Install Windows Subsystem for Linux automatically from Visual Studio with “Install WSL for Me”.
Remote Linux Unit Test Support
Remote Linux unit test support adds your remote Linux tests to the Test Explorer.
Send us your feedback!
Your feedback drives the creation of game development features in Visual Studio. Please continue sharing feedback on Twitter (@VisualC) or through tickets on Developer Community.