

Most game code is in the root namespace.TUNING contains a lot of balance information, but can't always be linked to the code that uses it due to compiler optimizations.For example, "Wheezewort" leads to "Coldbreather". STRINGS is often a good starting point for looking at the code, because you can first search for the in-game name of an entity, and then the variable name will tell you what the code calls it.Here are some tips about the organization of the code:

Note that decompiled code is not as easy to read as normal source code, so it may be difficult to follow some parts (for example, local variable names are inferred by the decompiler and can be pretty unhelpful, and all comments are lost). Some more engine-related code is also in the adjacent Assembly-CSharp-firstpass.dll file. Once you have a decompiler, you can decompile the OxygenNotIncluded_Data/Managed/Assembly-CSharp.dll file, which contains most of the game code. Some options are dotPeek, ILSpy, and dnSpy (each have their strengths and weaknesses, you may want to use multiple). To look at the code, you need a C# decompiler.
