Thank you for your interest in contributing to Smart! Contributions are welcome and help make the mod better for everyone in the Satisfactory community.
- Bug fixes and crash reports
- Performance improvements
- New building support (hologram adapters, size registry entries)
- Localization and translation updates
- Documentation corrections or additions
- Feature suggestions via GitHub Issues
- Open an issue first for anything beyond a small, obvious fix. This avoids wasted effort if a proposed change conflicts with the project direction.
- Follow the project's established conventions and nearby code. Start with the public architecture map and code organization policy, and use Epic's C++ coding standard for naming and formatting.
- Do not add build outputs (
Binaries/,Intermediate/,Saved/) or IDE-specific files to your branch. - Test your changes locally using Alpakit before submitting.
- Keep pull requests focused. One change per PR makes review faster and merge conflicts smaller.
By submitting a contribution to this repository (pull request, patch, documentation update, translation, or any other material), you agree that:
- Your contribution is original work that you have the right to license.
- You grant the copyright holder (Finalomega) a perpetual, worldwide, irrevocable, royalty-free license to use, reproduce, modify, distribute, sublicense, and relicense your contribution as part of Smart!, including under any future license terms the maintainer may adopt.
- You retain copyright in your own contribution.
This is necessary to allow Smart! to evolve — including future licensing changes, packaging decisions, or commercial arrangements — without requiring sign-off from every past contributor.
Pull requests are reviewed by the project maintainer. A PR may be declined even if it is technically correct if it:
- Conflicts with the planned roadmap or architecture
- Introduces scope or complexity beyond what the feature warrants
- Duplicates work already in progress
- Does not follow project conventions
Maintainer feedback will explain the reason in all cases.
Use the GitHub Issues tracker. Please include:
- Satisfactory version and SML version
- Smart! version
- Steps to reproduce
- Whether it occurs in a new save or an existing save
- Log excerpts from
FactoryGame/Saved/Logs/FactoryGame.logif applicable
For crashes or issues that could affect save integrity, please follow the process in SECURITY.md.
Discussion and informal feedback happen in the Smart! Discord.