Visual Assist is used by C++ development teams worldwide, but is especially popular in the game development industry. Many Unreal Engine developers list installing Visual Assist as a key requirement before beginning development with Unreal.345
Youtuber TheCherno states they've used Visual Assist for 90% of the C++ development they've ever done, and refers to the combination of Unreal Engine and Visual Assist as "a match made in heaven."6
The Unreal Engine Community wiki notes, "Many programmers simply prefer to disable [Visual Studio's inbuilt] Intellisense and use Visual Assist that has included support for Unreal Engine".7
Visual Assist has a custom language parser, which is not a compiler-style parser. Compiler-style parsers require well-formed code (badly formed code causes a compile error!) and will follow compiler directives, such as macros that can direct the compiler to include or exclude certain code. It's common for code tooling tools to use either compiler engines or compiler-style parsers, but Visual Assist's approach is more flexible and means the tool is more useful in real-world coding environments. When coding, a developer may have incompletely written code, but an assistance tool needs to still function correctly, as Visual Assist does. Similarly, Visual Assist is aware of macros, but can "see" inside macros that a compiler will exclude: this means it can refactor fully, rather than missing references that other tools would not see.
Visual Assist is tightly integrated into Visual Studio, which uses a different extensibility model to Visual Studio Code.
Until Visual Studio 2022, Visual Studio was a 32-bit application, constraining memory to a maximum of 4GB. It is common for developers to have multiple plugins loaded into Visual Studio, and the Visual Assist developers spent considerable effort on ensuring the memory impact of using Visual Assist was very low,8 even parsing very large projects. Both this and the custom parser also result in high performance parsing or indexing code compared to other tools.
"Features in Visual Assist". Retrieved 20 March 2023. https://www.wholetomato.com/features ↩
"A Brief Introduction To Clang-Tidy And Its Role in Visual Assist". 8 January 2021. Retrieved 20 March 2023. https://blog.wholetomato.com/2021/01/08/a-brief-introduction-to-clang-tidy-and-its-role-in-visual-assist/ ↩
"Ari Arnbjörnsson (Housemarque): Lessons Learned from a Year of UE4 AAA Development". YouTube. 3 August 2019. Retrieved 20 March 2023. https://www.youtube.com/watch?v=SGPleVfrPyo&t=1414s ↩
"Visual Studio Tips for UE4". Retrieved 20 March 2023. https://ikrima.dev/ue4guide/development-setup/visual-studio-tips-for-ue4/ ↩
"Top 5 Reasons Why I Use Visual Assist for Unreal Engine 5". YouTube. 9 December 2022. Retrieved 20 March 2023. https://www.youtube.com/watch?v=IuxM4Cc3gyQ ↩
"Unreal Engine + Visual Assist". YouTube. October 2020. Retrieved 20 March 2023. https://www.youtube.com/watch?v=HfB-b4aYZcI ↩
"Choosing & Preparing Integrated Development Environment for Unreal C++". Retrieved 20 March 2023. https://unrealcommunity.wiki/setting-up-visual-studio-for-unreal-engine-hgkklk2i ↩
"Technical Deep Dive: Reducing Memory Consumption in Visual Assist build 2393". 17 December 2020. Retrieved 20 March 2023. https://blog.wholetomato.com/2020/12/17/technical-deep-dive-reducing-memory-consumption-in-visual-assist-build-2393/ ↩