Modding APIs Overview
There are two types of API that will be covered in this overview:
- Asset API: An API or custom content mod that can be used without writing any code. Good if you want something simple that even non-programmers can create something with.
- Programming API: A user-created modding API that can be intergrated into your C# Lethal Company mod.
There may be multiple APIs for a single concept, each with their own pros and cons.
APIs marked with a Gold Star ⭐
have a tutorial on this wiki.
Asset APIs
Cosmetics
- MoreCompany by notnotnotswipez has a feature that adds custom cosmetics (hats, badges, etc). You can learn how to create your own through the official Cosmetic Creation Guide.
Custom Suits
- MoreSuits by x753 allows you to create your own custom ingame suits using only a .png file. The README has a basic section on how to format your suit mod for upload.
Items & Scrap
- LethalExpansion by HolographicWings allows you to create your own scrap using a custom Unity SDK. The SDK's README has a basic usage tutorial.
Posters
- LethalPosters by femboytv allows you to create your own custom posters that appear in the ship. The README has a basic section on how to format your poster for upload.
Sound Replacement
- ⭐ CustomSounds by Clementinise allows you to replace ingame sounds using your own .wav file. The wiki page on CustomSounds covers the process of creating of swapping out sounds.
Programming APIs
Configuration
ConfigurableCompany by Ansuz/Amrv implements an in-game menu that allows developers to create file-dependant configurations in a simple way that will automatically synchronize when needed. Learn how to develop with mod.
⭐ CSync is a compact library/API enabling mod authors to synchronize the host's configuration file with all other clients. The wiki page on CSync will guide you through the process of implementing this into your own mod.
Dungeons
- LethalLib by Evaisa allows you to add new dungeons.
Enemies
- LethalLib by Evaisa allows you to add new enemies, although the process is fairly involved and not currently well documented.
Input
- InputUtils by Rune580 allows you to easily initialize input/keybinds with ingame rebinding. The README has a developer quickstart.
Items & Scrap
- ⭐ LethalLib by Evaisa allows you to add new Scrap & Shop Items. The wiki page on LethalLib links to a full tutorial to build off.
Model Replacement
- ModelReplacementAPI by BunyaPineTree allows you to create your own custom player models, and swaps them out at runtime. The mod's official wiki explains how to set up a player model.
Networking
- LC-API by 2018 allows you send and receive messages of any serializable type. The mod's GitHub wiki explains how to use its messaging service.
- LethalNetworkAPI by xilophor allows you to create, send, and receive messages, events, and variables over the network. The mod's official wiki explains how to use them.
Sound Replacement
- LCSoundTool by no00ob allows you to replace sounds at runtime. The mod's Thunderstore wiki covers how to use it.
Terminal
- TerminalApi by NotAtomicBomb adds a nice and easy way to add and modify terminal keywords. The mod's GitHub README has documentation and an example plugin to reference.
Adding APIs to the wiki
If you're an API developer and want to get your API added to this list, feel free to make a pull request, assuming your API meets the following criteria:
- Open source
- Fairly well documented - even better if you write a wiki article1
1: Some exceptions may be made if it's an especially groundbreaking API, or it's the only existing solution.