Project Eclipse is a mod engine for Shadow Fight 2. Think of this as the SF2 equivalent of Forge for Minecraft.
It targets Unity 2022.3.62f3.
The project is not meant to be played on it's own without mods, even if it is possible
It is intentionally bare, and it is strongly recommended to play with mods. (when that time comes lol)
Definitive Edition 128 will be bundled as a mod, and enabled by default on the first stable public release.
This will be the """vanilla""" Project Eclipse experience, but modders will always have the option to disable DE128 for their modding purposes.
The base project is intentionally not Definitive Edition. Project-owned
engine, compatibility, desktop, presentation, and future modding code lives under
Assets/Scripts/Eclipse/.
Assets/- recovered game code, assets, resources, and editor tools.Assets/Resources/SF2Content/Art/- native runtime art and its catalog; no research folder is required to run a build.Assets/Scripts/Eclipse/- Eclipse-owned reconstruction and platform code.Assets/vanillaXml/- canonical vanilla 2.41.9 gameplay/configuration XML.Assets/DExml/- archived pre-pivot Definitive Edition XML/model data; not the active base.Deobfuscation/- reviewed identifier-recovery workflow.Tools/- validation, repair, and audit utilities.BuildScripts/- project build and reference scripts.Docs/Modding/- Astro Starlight modding wiki; see its setup and deployment guide.
msbuild Eclipse.Runtime.csproj /nologo /v:quiet /clp:ErrorsOnly
msbuild Assembly-CSharp-firstpass.csproj /nologo /v:quiet /clp:ErrorsOnly
msbuild Assembly-CSharp.csproj /nologo /v:quiet /clp:ErrorsOnly
msbuild Assembly-CSharp-Editor.csproj /nologo /v:quiet /clp:ErrorsOnlyRun managed runtime test scripts under PowerShell 7 (pwsh), not Windows
PowerShell 5.1; Unity 2022's managed API is not compatible with the older host.
Install Unity 2022.3.62f3 with Windows build support and Android Build Support, including its SDK/NDK tools and OpenJDK. Use Unity's embedded Android toolchain rather than an unrelated system Java installation.
In Unity, select the target platform in Build Settings, then use
SF2 > Build > Windows x86_64 or Android ARM64 APK.
Outputs go to the ignored Builds/Windows/Eclipse.exe
and Builds/Android/Eclipse.apk paths. Android uses IL2CPP, ARM64 only, and
LZ4 high-compression player data to keep the large content set packageable.
The configured enabled scenes are checked, packaged art is validated, and the
offline gameplay archive is regenerated before each player build.
For unattended builds, close the editor for this project first and run:
& .\BuildScripts\BuildPlayers.ps1 -Target AllUse -Target Windows or -Target Android to build just one target. The script
starts a separate Unity process with an explicit platform for each build; use
-Unity, -ProjectPath, and -OutputDirectory to override its paths. Each target
gets a build log alongside the output directories. The APK uses the
project's existing signing settings; configure a release keystore separately
before distributing a production release.
See AGENTS.md for project conventions and validation guidance.
See CONTENT.md for the content layout and validation. Use SF2 > Content Browser to search assets across the project from one window.
See Mods/README.md for loose mod assets, sprite descriptors, and the Lua API.
See DE_SCOPE_AUDIT.md for the current separation between reusable Eclipse work
and behavior that overlaps with the Definitive Edition feature set.