Something went wrong. Try again.
Something went wrong. Try again.
MU_Aliens code
5 files
README.md
code/ #
C# for this mod. Compiles against Jiangyu.Sdk plus the game's IL2CPP proxy
assemblies, and ships as a DLL the loader injects at runtime.
Layout #
Directory.Build.props/Directory.Build.targets: Jiangyu-managed build settings and references.jiangyu code syncrefreshes them, so do not edit.local.props: machine-specific game/SDK paths, written byjiangyu code sync. Gitignored.*.csproj,*.cs: your mod. Yours to edit, and sync never overwrites them.../<Mod>.slnx(at the mod root): seeded once so an IDE opened on the mod root discovers this project.
IDE #
Open the mod root (the folder containing <Mod>.slnx), not code/, so the C# language server loads the project.
Authoring #
[JiangyuType("Name")]on apartialclass injects it into the IL2CPP type system so KDLtype="<mod>:Name"can construct it into a template slot. Mark the classpartialand Jiangyu generates the IL2CPP injection constructors; you write only your fields and overrides.- An injected
[JiangyuType]the game constructs has noContextof its own. Log via the staticJiangyu.Sdk.Log(auto-tagged), and callModContext.For(this)for the mod'sStateorModFolder. - For behaviour that reacts to game moments, write a
JiangyuSystemsubclass per feature (OnInit,OnTemplatesApplied,OnSceneLoaded,OnUnload). The systems of one mod share aContext; when one must initialise after another, annotate it with[DependsOn(typeof(OtherSystem))].
Building #
jiangyu compilebuilds this project and packages the DLL alongside the manifest — it injects the game/SDK paths from your global config, so a fresh clone compiles without running sync first.dotnet buildworks too oncejiangyu code synchas writtenlocal.props.