CLI tool
stanuwu/Sunrise avatar
stanuwu/Sunrise

Sunrise: an offline exploration mod for an old Destiny 2 build

Destiny 2 Offline Exploration Mod

1,133 stars235 forksC++GPL-3.0

At a glance

What is it?
Sunrise patches an older Destiny 2 client so it runs locally and lets you load into destinations, with most gameplay systems absent. Here is what the repository documents, how the build works, and where it stops.
Who is it for?
Sunrise is for people who want to walk around Destiny 2 destinations on their own machine and who already own a copy of the game, and for C++ developers willing to build a Visual Studio 2026 or clang project from source.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 7 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 16, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Sunrise actually does, and who it is for

Sunrise is a mod that installs onto an old build of Destiny 2 and lets that build run offline, so you can load into destinations and explore them. That is the whole scope. The README states plainly that most gameplay features are not supported, listing missions, enemies, NPCs, quests and persistent saves among the missing pieces. Anyone who reads the feature list and expects a playable game will be disappointed within minutes.

The intended user is narrower than the phrase "Destiny 2 mod" suggests. You need your own copy of the game, and specifically the old build the mod targets. The content disclaimer is explicit that Sunrise is not a crack, not a cheat and not a custom server, that everyone provides their own copy, and that the mod does not connect to any servers because it runs completely locally. So the audience is people interested in the game's environments and internals, plus developers who want to read or contribute C++ that talks to a local client.

The repository's own framing matters here. It says the project is a work in progress, that things might break or work in unexpected ways, and that documentation is currently lacking. That is a fair self-assessment, and it should set expectations for anyone deciding whether to spend an evening on the build.

Mechanism: a local client, injected hooks, and runtime-extracted data

The README does not publish an architecture diagram, but the pieces it does name are informative. The dependency list includes Detours, Microsoft's library for hooking arbitrary Win32 functions in memory, and ImGui, which supplies the in-game interface. SQLite is listed as well, which points to local storage for whatever state the mod keeps. Lua appears in the dependency list too, and the credits include a Bungie Lua decompiler among the helpful repositories.

The contributing rules reveal the design intent more than any description does. One rule says all game data should be extracted at runtime, and the copyright section repeats that no game data will be included in the release. So the mod does not ship assets; it reads them from the copy of the game you already have. Another rule tells contributors that for features intended to be part of the server, they should not abuse client patches, because most things should go through the right requests and pushes. That tells you the mod is not a single hook bolted onto the executable; it has a server-side component that handles requests and pushes, with client patches reserved for cases that genuinely need them.

The feature list follows from that split. Loading into any destination is the core capability, and the README notes that matchmade activities are currently broken. Exploration features include fly, noclip and activity override, and there is basic inventory management. Those are the kinds of things you can implement once the client is talking to a local server you control.

Building Sunrise on Windows with Visual Studio 2026

The README documents building from source rather than distributing a binary. On Windows it asks for Visual Studio 2026 with the Desktop development with C++ workload, and it is specific about the toolchain: the project builds against the v145 toolset and the 10.0.26100 Windows SDK, so both need to be selected in the installer. The easiest route, per the README, is to open Sunrise.sln, pick the Release x64 configuration and build.

For a command-line build, the README says to use the Developer PowerShell for VS 2026. Clone the repository first:

powershell
git clone https://github.com/stanuwu/Sunrise
cd Sunrise

Then build the solution with msbuild. The flags below are the ones the README gives, and the output lands in the Release x64 configuration of the solution:

powershell
msbuild Sunrise.sln /m /p:Configuration=Release /p:Platform=x64

After that, the README points to the wiki's Installing page for what to do with the result. It does not describe the deployment step itself, so treat the wiki as the source for placing the mod onto your game build.

Cross-building on Linux with xwin and a Windows toolchain file

Linux is supported as a build host, not as a target: the output is still a Windows binary, because the repository ships a linux-to-win-toolchain.cmake file and the README has you download Windows headers with xwin. The prerequisites it lists are git, cmake, clang, ninja, llvm and xwin.

Clone the repository, then fetch the Windows SDK headers and libraries into a local cache. The SDK version in the command matches the one the Windows build uses:

bash
$ git clone https://github.com/stanuwu/Sunrise
$ cd Sunrise
$ xwin --sdk-version 10.0.26100 --accept-license splat --include-debug-libs --output .xwin-cache

With the cache in place, configure and build against the provided toolchain file. The two commands below are exactly what the README lists:

bash
$ cmake -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE=$(pwd)/linux-to-win-toolchain.cmake -DCMAKE_BUILD_TYPE=Release
$ cmake --build build

There is a real cost here that the README does not spell out. You are maintaining a cross-compilation environment with a pinned SDK version, and any drift between that pin and what the project expects will surface as build errors rather than a clear message. If you build on Windows already, the solution file is the shorter path.

Where Sunrise stops: absent systems and unstated behaviour

The honest limitation is in the README's own second paragraph. Missions, enemies, NPCs, quests and persistent saves are not supported. That removes the loop most people associate with Destiny 2 and leaves the environments. Matchmade activities are listed as broken even though loading into destinations works, so the activity override feature does not restore matchmaking.

Beyond the feature gaps, the documentation itself is thin, and the README admits it. It does not document rollback, so there is no stated procedure for returning your game install to its previous state after applying the mod. It does not describe which old build of the game is required, only that the mod installs onto "an old build". It does not cover save migration, because there are no persistent saves to migrate. The wiki pages for Installing, FAQ and Common Issues exist, and the README routes questions there rather than into the issue tracker, which the rules reserve for bug reports only.

There is also an AI disclosure in the README. It states that AI was used for reverse engineering, development and documentation, that all publicly released AI work is reviewed by a human, and that no AI was used for art or creative writing. If that matters to you as an adopter or contributor, it is stated up front rather than buried.

Compared with private-server projects and unpacking tools

The credits list two adjacent categories of work, and the difference in approach is worth naming. On one side are private-server projects such as the Demonware custom server work for Call of Duty and the shield-development project for Black Ops 4, both cited in the credits. Those aim to reconstruct enough of the backend that multiplayer and progression behave like the retail service. Sunrise explicitly says it is not a custom server and does not connect to any servers. It runs locally, and its server component exists to answer the client, not to host anyone.

On the other side are the data and asset tools in the credits, including DestinyUnpackerCPP, D2TagParser, D2TextureRipper and the Bungie Lua decompiler. Those are extraction and inspection utilities: they read package files and produce assets or metadata you examine offline. Sunrise is the opposite direction. Its contributing rule requires game data to be extracted at runtime, meaning it consumes the installed game rather than producing a corpus from it.

So the practical distinction is what you want to do. If you want to study or convert game assets, the unpacking tools are the right starting point. If you want to reconstruct online services, the private-server lineage is closer. Sunrise sits in between: it makes a local client load into destinations and gives you movement and inventory controls over it.

Licence, upgrade cost and what a fork inherits

Sunrise is GPL-3.0, and the repository carries LICENSE, THIRD_PARTY.md and THIRD_PARTY_NOTICES.md at the top level, which is where the dependency obligations are recorded. GPL-3.0 means that if you distribute a modified version, you distribute it under the same terms and make the corresponding source available. That is a normal arrangement for a project built on Detours, ImGui, Lua and SQLite, all of which are separately credited in the README. This is a description of the licence file, not legal advice; if you plan to redistribute a build, read LICENSE and the third-party notices yourself.

The upgrade cost is shaped by the pinning. The build expects the v145 toolset and the 10.0.26100 Windows SDK, and the Linux path pins the same SDK version through xwin. Releases are tagged and versioned (0.3.2 is the most recent listed), so there is a version to track, but the README does not document an upgrade procedure for an existing install. Combined with the absence of rollback instructions, that means you should assume a fresh install per version until the wiki says otherwise. The last push to the repository was on 2026-09-12, four days before this writing, so the codebase is moving; a fork pinned to an older tag will drift from master quickly.

Editorial conclusion

Sunrise is for people who want to walk around Destiny 2 destinations on their own machine and who already own a copy of the game, and for C++ developers willing to build a Visual Studio 2026 or clang project from source. It is not for anyone expecting missions, enemies, NPCs, quests or persistent saves, and not for anyone who wants a drop-in download: the README points to the wiki for install instructions, and the FAQ and Common Issues pages are the places to check before opening an issue. Verify first that you have the specific old game build the mod targets, that your toolchain matches the documented one (v145 toolset, 10.0.26100 Windows SDK, or cmake, clang, ninja, llvm and xwin on Linux), and that you accept the project's own disclaimers about what Sunrise is not.

Frequently asked questions

What is Sunrise for Destiny 2?

It is a mod that installs onto an old build of Destiny 2 and lets you play that build offline, loading into destinations and exploring them. The README states that most gameplay features are not currently supported, including missions, enemies, NPCs, quests and persistent saves.

How do I install Sunrise?

The README does not include install steps; it links to the Installing page on the project wiki, alongside FAQ and Common Issues pages. The repository itself documents how to build the mod from source on Windows and Linux.

Is Sunrise a crack, a cheat or a custom server?

The README's content disclaimer says it is none of those. It states that everyone provides their own copy of the game, that the mod does not connect to any servers and runs completely locally, and that the project offers no servers or services.

What do I need to build Sunrise on Windows?

Visual Studio 2026 with the Desktop development with C++ workload, plus the v145 toolset and the 10.0.26100 Windows SDK selected in the installer. The README suggests opening Sunrise.sln and building the Release x64 configuration, or running msbuild from the Developer PowerShell.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. README
  4. Releases
  5. stanuwu/Sunrise on GitHub
Community notes

Community notes