Contributing
Vite has stricter rules than stock Unreal: no recursion, no new virtuals, no new Blueprint exposure, strict Clang compliance and absolute ABI stability. Read the guidelines before writing code, not before opening a pull request.
Vite exists because UE 4.27 can be made fast and stable. Contributions that compromise either defeat the point. The rules below are unusually restrictive for a game engine fork, and that is deliberate.
In this section
| Topic | Covers |
|---|---|
| Coding Guidelines | Core principles, forbidden constructs, technical and performance rules |
| Commit Conventions | Prefixes, attribution, branch hygiene |
| Backporting | Bringing UE5 and upstream features into 4.27 |
| Documentation | Contributing to these docs |
Before you start
The three rules that reject most pull requests
What makes a good contribution
Contributions that fit Vite well tend to share a shape:
- Measurable. A profiling capture before and after, on representative content, beats an argument.
- Guarded. Anything not needed in shipping is behind a compile-time switch or a console variable, and off by default when it costs something.
- Narrow. A change touching one subsystem is reviewable. A change touching the renderer, the physics layer and the build system is not.
- Documented. New console variables, switches and defaults need a documentation page or a section in an existing one.
Getting set up
See Build from Source and Toolchain Requirements. Note that engine development requires a source build — installed builds cannot compile engine C++.