BioRand 7 is a cloud randomizer and mod-generation toolkit for Resident Evil 7 Biohazard based on the BioRand infrastructure.
This repository contains the .NET randomizer library, command-line tools, data-generation utilities, tests, REFramework plugin code, and reverse-engineering notes that support it.
BioRand 7 is a fan-made project and is not affiliated with or endorsed by Capcom. You need a legally owned copy of Resident Evil 7 including all DLCs to use game-derived inputs locally.
BioRand 7 is in active beta development. Item, weapon, inventory, recipe, and several progression-safety systems are already implemented; enemy and chapter-related work is still especially sensitive and should be tested carefully.
For current design notes and planned work, see:
- Generates RE7 randomizer output as a patch PAK, Fluffy Mod Manager ZIP, or extracted
natives/folder. - Supports seeded generation and JSON configuration profiles.
- Randomizes items, key item locations, item drops, bird cages, starting inventory, inventory stack limits, and crafting recipes.
- Includes weapon stat randomization for damage, ammo capacity, and reload speed.
- Includes enemy randomization options for enemy classes, multipliers, placement, health, speed, damage, and scale.
- Adds REFramework artifacts when features require runtime support.
- Provides standalone mod export commands for bundled optional mods.
- Uses embedded, spreadsheet-derived, and generated data so behavior can be tested without a local RE7 install.
- .NET 10 SDK
- Git
- A local Resident Evil 7 install with all DLCs for local setup/mod generation workflows
- Windows is recommended for game-related workflows
If the repository was cloned without submodules, initialize them first:
git submodule update --init --recursiveFrom the repository root:
dotnet restore .\biorand-re7.sln
dotnet build .\biorand-re7.sln --no-restore
dotnet test .\biorand-re7.sln --no-build --verbosity normalRandomizer throughput benchmarks live in src/Biohazard.BioRand.RE7.Benchmarks/ and use the embedded baseline PAK, %USERPROFILE%\.biorand\biorand-re7.pak, or a path supplied through BIORAND_RE7_BENCHMARK_PAK.
Run them from the repository root in Release mode:
dotnet run -c Release --project .\src\Biohazard.BioRand.RE7.Benchmarks\Biohazard.BioRand.RE7.Benchmarks.csprojTo run a single scenario:
dotnet run -c Release --project .\src\Biohazard.BioRand.RE7.Benchmarks\Biohazard.BioRand.RE7.Benchmarks.csproj -- --filter *DefaultProfile*The RealisticProfile scenario uses the checked-in profile under src/Biohazard.BioRand.RE7.Benchmarks/Profiles/. Benchmarks disable dynamic Google Sheets downloads by default; set BIORAND_RE7_BENCHMARK_DOWNLOAD_DATA=1 to include that external fetch cost.
Some runtime data is embedded under src/Biohazard.BioRand.RE7/_Data/. Changes there affect generated seeds, not only tests.
Refresh dynamic CSV data from the Google Sheets spreadsheets:
dotnet run --project .\src\biorand-re7\biorand-re7.csproj -- updateRun data generators:
dotnet run --project .\src\Biohazard.BioRand.RE7.DataGen\Biohazard.BioRand.RE7.DataGen.csproj -- generate config
dotnet run --project .\src\Biohazard.BioRand.RE7.DataGen\Biohazard.BioRand.RE7.DataGen.csproj -- generate areas item_placements item_definitions weapon_definitions enemies
dotnet run --project .\src\Biohazard.BioRand.RE7.DataGen\Biohazard.BioRand.RE7.DataGen.csproj -- generate area_scene_targets -f Json
dotnet run --project .\src\Biohazard.BioRand.RE7.DataGen\Biohazard.BioRand.RE7.DataGen.csproj -- rsz-to-cs app.TypeName --with-enumsGenerated files are written to GeneratedFiles/. Some generators also copy outputs into _Data/.
The key item route graph image is refreshed into docs/key_item_route_graph.png when the DataGen project builds.
src/Biohazard.BioRand.RE7/ Core randomizer library
src/biorand-re7/ Command-line app
src/Biohazard.BioRand.RE7.Benchmarks/ BenchmarkDotNet throughput benchmarks
src/Biohazard.BioRand.RE7.DataGen/ Data and code generators
src/Biohazard.BioRand.RE7.REFrameworkPlugins/ REFramework.NET plugin
src/Biohazard.BioRand.RE7.Tests/ xUnit regression tests
src/reeutils/ RE Engine tooling submodule
docs/ Notes, roadmap, and research docs
assets/ Project assets and bundled mod assets
Contributions are welcome, especially focused bug fixes, tests, documentation, data corrections, and carefully scoped randomizer improvements.
Start with CONTRIBUTING.md. For issues, use the existing GitHub templates and attach the randomizer ZIP output when reporting crashes or softlocks. Do not attach full vanilla game PAKs, game install dumps, local credentials, or private files.
BioRand 7 would not be possible without a few amazing people and tools:
- IntelOrca's BioRand infrastructure
- Battlezone's REasy
- kagenocookie's REE Content Editor
- praydog's RE Framework
- alphaZomega's many contributions to RE modding
This project is licensed under the MIT License.