Hi Epic Team,
I’m currently exploring options for integrating static code analysis into our Unreal Engine projects. As part of this effort, we’re aiming to align as closely as possible with Epic’s recommended practices, both to reduce friction with future engine updates and to ensure compatibility across our internal shared tech stack.
I’ve reviewed the Unreal Engine documentation on static analysis, which lists Clang, VisualCpp/MSCV, and PVS-Studio as supported tools.
I’d greatly appreciate any additional insights you can provide on how Epic internally approaches static analysis, particularly around the following topics:
- Tooling Choice & Rationale
- Which of the listed static analyzers (Clang, MSVC, PVS-Studio) does Epic use internally?
- What were the deciding factors in choosing those tools (e.g., signal-to-noise ratio, performance, integration ease, licensing, etc.)?
- Pipeline Integration
- How is static analysis integrated into Epic’s development workflows?
- Is it part of nightly or continuous integration pipelines?
- Do you automatically create Jira (or equivalent) issues for new findings?
- Are static analysis jobs executed through Horde, or a separate system?
- How is static analysis integrated into Epic’s development workflows?
- Pre-submit / Developer Experience
- Do you internally support pre-submit checks that developers can run locally to catch issues before committing code?
- If so, how do you ensure these checks are fast and targeted (e.g., only on modified files)?
- Managing Technical Debt
- For large or legacy codebases, do you have recommendations for managing existing findings (e.g., suppressing known issues, focusing only on diffs, etc.) to avoid overwhelming developers?
Our goal is to build a robust and scalable static analysis setup that can be integrated into our central tech pipeline, ultimately supporting multiple Unreal-based projects. We’d love to build something that aligns with Epic’s direction to minimize divergence and reduce integration pain over time.
Thanks in advance for your time and support, we really appreciate any guidance or recommendations you can share.