|This article is a stub. You can help BallisticNG Wiki by .|
CSharpNG is the name of BallisticNG's codebase. It consists of
Assembly-CSharp.dll (game code written in the Unity project),
BallisticModding.dll (an external library pertaining to the Mod Container Format) and
BallisticSource.dll (an external library containing the class to register mods, which needs to be moved into BallisticModding.dll eventually).
BallisticNG allows you to include your own libraries to create new gamemodes and weapons. However, the entirety of the game's codebase and Unity's API are exposed for you to use, so the possibilities are a lot broader than that. The purpose of this documentation is to provide information and examples on how to use the codebase itself and is not intended to teach programming. If you do not have a grasp of C# and want to learn, the CSharpNG documentation is not the place to do so.
Before you begin programming mods you will want to pickup Visual Studio if you haven't already. Visual Studio Community is completely free to use and features everything you need. There are other IDEs available, and in fact, anything that can compile a managed C# library will serve you fine, but this documentation is going to be focusing on Visual Studio only. Like mentioned above this documentation is only for teaching the CSharpNG codebase, some basic setup instructions will be provided but the purpose of this documentation isn't to teach you how to use Visual Studio.