About this mod
The definitive Lethal Company modding API. Includes some very useful features to make modding life easier.
- Permissions and credits
- Mirrors
- Donations
The definitive Lethal Company modding API. Includes some very useful features to make modding life easier.
Note: This is a repackage of the original LC_API built with version 50 of the game.For Developers. If you want to use the API in your plugin, add the LC_API.dll as a project reference! ContributingIf you wish to contribute to this project, you will need unity netcode weaver to implement custom networking properly. Follow their instructions to get NetcodeWeaver set-up for patching Lethal Company mods and keep note of the file path where you chose to install it. Once you have forked and cloned the repository, you will need to create a file in the solution folder called
LC-API.csproj.user
to set paths to build dependencies. Here's a template for that file's contents:
<?xml version="1.0" encoding="utf-8"?><Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LETHAL_COMPANY_DIR>F:/SteamLibrary/steamapps/common/Lethal Company</LETHAL_COMPANY_DIR>
<TEST_PROFILE_DIR>$(APPDATA)/r2modmanPlus-local/LethalCompany/profiles/Test LC API</TEST_PROFILE_DIR>
<NETCODE_PATCHER_DIR>$(SolutionDir)NetcodeWeaver</NETCODE_PATCHER_DIR>
</PropertyGroup>
<!-- Create your 'Test Profile' using your modman of choice before enabling this.
Enable by setting the Condition attribute to "true". *nix users should switch out `copy` for `cp`. -->
<Target Name="CopyToTestProfile" AfterTargets="PostBuildEvent;NetcodeWeave" Condition="false">
<MakeDir
Directories="$(TEST_PROFILE_DIR)/BepInEx/plugins/2018-LC_API"
Condition="Exists('$(TEST_PROFILE_DIR)') And !Exists('$(TEST_PROFILE_DIR)/BepInEx/plugins/2018-LC_API')"
/>
<Exec Command="copy "$(TargetPath)" "$(TEST_PROFILE_DIR)/BepInEx/plugins/2018-LC_API/"" />
</Target>
</Project>
It is vital that you change the NETCODE_PATCHER_DIR
property to the location of your local NetcodeWeaver installation.Ensure your Assembly CSharp is set
Publicize="true"
in the .csproj file to ensure it gets publicized.Once you have completed these steps, you will be able to properly build the solution.Making a PRYour pull request should target the dev branch. This is because the main
branch is reserved for tested features that are ready for release. Basically if someone were to clone the repo, they should be able to build
main
and use it without any fear of broken things. The
dev
branch, however, may contain untested features and is used to build release candidates. Before releases, the
dev
branch will be frozen and tested for issues, when it passes its testing then it will be merged into
main
and a release will be made. Pre-releases may come from the
dev
branch for release candidates and testing. These will be generally stable, but may still contain broken features before testing is done.Pull requests targeting the
main
branch will not be merged in most circumstances. Most merges to main
will be directly from the frozen dev
branch after testing.FeaturesAssetBundle loading - Put asset bundles in BepInEx > Bundles and load them using BundleAPI.BundleLoader.GetLoadedAssetServerAPI - Utilities relating to the network and server. This includes:ModdedServer - Automatically alerts other users when you host a server that your server is modded.