Thank you for your interest in improving SharpMonoInjector 🎯 This guide explains how to set up your environment, report bugs, and submit pull requests safely.
- Visual Studio 2022 or VS Code
- .NET Framework 4.8 SDK or newer
- Administrator privileges for testing injection features
- Optional: BepInEx 5.4+ (for Receiver Plugin testing)
-
Fork and clone the repository:
git clone https://github.com/TheHolyOneZ/SharpMonoInjector-2.7-TheHolyOneZ-Edition-.git cd SharpMonoInjector-2.7-TheHolyOneZ-Edition- -
Open the solution file (
SharpMonoInjector.sln) in Visual Studio. -
Restore NuGet packages automatically on load.
-
Build in Release or Debug mode.
-
Test the executable under a sample Unity/Mono process.
- Use C# 10+ conventions and 4-space indentation.
- Name methods and variables clearly (
PascalCasefor methods,camelCasefor locals). - Avoid large methods; break logic into smaller reusable parts.
- Document public methods using XML comments.
- Keep the UI theme consistent (dark theme with green accents
#00E676). - Test both x86 and x64 builds before committing.
-
Ensure backward compatibility with existing injection workflows.
-
Add detailed log messages to the integrated log viewer (
DebugLog.txt). -
Follow the existing logging color scheme:
Info: BlueSuccess: GreenWarning: OrangeError: Red
-
If adding UI elements, maintain consistent spacing, corner rounding, and hover effects.
Before submitting a PR:
- Test normal and stealth injection modes.
- Verify detection of BepInEx, Thunderstore, and r2modman profiles.
- Confirm logs are properly written to
DebugLog.txt. - Validate that the Receiver Plugin communicates via pipe correctly.
- Ensure the app runs safely without administrator privileges (limited features).
Include in your bug report:
- Steps to reproduce the issue
- Expected vs. actual behavior
- Game/environment (Mono/Unity version)
- Log output (
DebugLog.txt) - Screenshots if relevant
Use the GitHub Issues tab and apply labels like bug, enhancement, or question.
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/my-feature
-
Commit with a clear message:
git commit -m "Add Smart Router fallback for r2modman profiles" -
Push your branch:
git push origin feature/my-feature
-
Open a Pull Request targeting the
mainbranch.
PRs should:
- Describe what the change does and why it’s needed.
- Include screenshots for UI modifications.
- Reference related issues (if any).
For non-bug questions, use the Discussions tab or start a new thread labeled idea or support.
SharpMonoInjector is intended for educational, debugging, and legitimate modding use only. Do not use it for:
- Cheating or bypassing anti-cheat systems
- Unauthorized game modification
- Any malicious purpose
Violating these terms may result in your PR being rejected or blocked.
- TheHolyOneZ – Modernization, UI, stealth system, Smart Router, Thunderstore integration and Profile System, Pipe Injection
- wh0am1 – Technical fixes and Mono patching
- Warbler – Original SharpMonoInjector base
Happy coding! 💉