Unity has 2
scripting backends:
Mono
Il2CPP
Mono = Assembly-CSharp.dll with C# Code (Just In Time Compilation)
Il2CPP = GameAssembly.dll with pre-compiled code
on Il2CPP a function/method will have a fixed offset like any other native game.
i just can't get a good PE header for the newer Unity games
PE = Portable Executable:
The PE format is a data structure that encapsulates the information necessary for the Windows OS loader to manage the wrapped executable code, so Assembly-CSharp and GameAssembly.dll are both PE Files.
In a .NET/Mono executable, the PE code section contains a stub that invokes the CLR virtual machine startup entry.
Could an updated PE be shared by others?
sure, use X64DBG or IDA Pro to patch the GameAssembly.dll.
//
so in short:
you can't find/edit C# code coz there is no C# code in the GameAssembly.dll, if you want to know what a function/method is doing you need to analyse the ASM code.
To change something you need to patch(or codecave) bytes.
but you can generate a Assembly-CSharp that will show you offsets(same like cheat engine mono dissect does)
[Link]
but again : if you want to know exactly what a function/method is doing you need to look at the ASM code, coz Cheat Engine/Il2CppDumper will only dump names + offsets.