Contributing - Factorio-Access/FactorioAccess GitHub Wiki
Contributing to Factorio Access
Factorio Access is a volunteer-driven project and welcomes contributions. The Discord server is the best place to introduce yourself and coordinate on contributions: Discord server. This page has guidelines on the many ways you can help.
How you can contribute
You can contribute to Factorio Access in the following ways:
- Playtesting and feedback: Testing the mod and sharing your experience is valuable, especially bug reports and design discussions.
- Accessibility and UX expertise: If you have a professional or academic background in accessibility or user experience, a structured review of the mod's design and related feature decisions is genuinely valuable.
- Helping other players: Experienced players helping newcomers with questions on Discord is a meaningful contribution to the community.
- Wiki contributions: Wiki pages can be edited by any GitHub user who is logged in. If you spot something outdated or missing, feel free to improve it. For larger contributions, please review the wiki's philosophy on the Home page and get in touch.
- Compatible mod assessment: Reviewing and testing other Factorio mods for compatibility with Factorio Access and reporting your findings helps grow the Compatible Other Mods list for all to enjoy. See the section below for more about this.
- Code contributions: See the section below for currently sought work and important notes for all code contributors.
- Translation support: We are interested in getting help with translations but we need contributors who will be committed to it for the long term. This is further discussed in the section below about Translations.
Reviewing Other Mods for Compatibility
Assessing a mod for compatibility is a three-stage process. You do not need to complete all three stages — even a first-stage assessment is useful feedback. Please report your findings to the #other-mods channel on the Discord server so that we can extend the compatible mods list together.
1. Mod portal assessment
Before downloading anything, the mod's portal page gives a useful first impression. Things to look for:
- Does the mod change a lot of things about the game? This would make it likely (but not certain) to need a lot of work to make compatible.
- Does it introduce a new front-end or replace existing menus with custom ones? This makes it very likely that custom accessibility work will be needed, although it might not be a lot.
- Does it have several required dependencies? Each dependency is its own compatibility question and together they raise the overall complexity.
A mod that scores well here — few custom interfaces, no front-end replacement, minimal dependencies — is a good candidate to examine further.
2. Brief code review
If the mod's source code is available, a quick look at the file structure tells you a lot. A mod with no control.lua has no custom runtime logic, which is a strong sign that it will work with Factorio Access without any changes. If there is a control.lua, skim it to get a sense of how much it does and whether it touches things like GUIs or player interactions.
For more information about the moving parts of Factorio mods, examine the Data Lifecycle page in the official API docs.
3. In-game playtesting
Install the mod and test it in cheat mode so you can quickly reach any features it adds. Work through its main features and note what is and is not accessible. Be aware that some parts of this stage may require sighted assistance, particularly for mods that add visual interfaces.
After testing, share your findings in the #other-mods channel so they can be reviewed and potentially added to the Compatible Other Mods list.
Code Contributions
Currently Open Contribution Needs
The following are areas where contributions are actively sought. This list reflects the current state of the project and is updated periodically.
- Space Age expansion support. We have partial coverage but cannot officially support Space Age until all key features across all planets are substantially covered. Some features are waiting on API solutions; others need dedicated design and polish work.
- Mod compatibility. Every mod is its own case, but more mods can be made more compatible. If a mod has custom logic, it may need custom accessibility logic. What is needed where becomes clearer as more people test more mods.
- Visualization features. Visualization is valuable for partially sighted players and for sighted audiences watching blind players stream. However, visualization code must be non-invasive and self-contained (or at least easy to disable) because maintainers are not always sighted and cannot be relied upon to catch regressions in visual features.
If any of these align with your interests and skills, we would like to hear from you. If you would like to help with other items on our GitHub Issues list or if you have other ideas, please get in touch before you start coding. All code contributors should consider the important notes below.
Important Notes
A few things worth knowing before diving in:
- AI-assisted development is welcome. The project itself is largely maintained with Claude Code, and contributors using AI tools are encouraged to do the same. That said, AI tends to be agreeable rather than critical — it is important to apply your own judgment and not take generated output at face value, especially on design questions.
- Outside of the areas above, the likely answer to new features is "no". The mod is large, mature, and stable. Every addition needs to be taught, maintained, and can have wide consequences. The question is not just whether something works but whether it is the right thing to add, the best solution available, and something the team is willing to own long-term. Discussion before coding is strongly encouraged.
- Getting alignment early saves everyone time. The
#coding-and-contributingchannel on Discord is the right place for that conversation. You do not need a finished implementation to start it.
The full contributing guidelines, including setup instructions, code standards, and a detailed framework for proposing new features, are on the main repository:
Translations
Factorio itself supports many languages and we are interested in the mod supporting languages other than English. In its earlier iterations, the mod had many hardcoded strings rather than localizable ones but meaningful progress has been made to make the mod localizable. However, this mod has a lot of custom text in its locale files, in the tutorial, and elsewhere. With so much text to maintain, we are subject to a critical mass problem: We can only maintain a language if speakers of that language are perpetually willing to contribute and stay in sync with mod development and support. This would be feasible for very few languages. With the above concern in mind, we still welcome contributions to the locale files because any critical mass needs to start somewhere. If you are willing to contribute to translation efforts while weighing these considerations, please get in touch.
See also: