LCCutscene

v2.0.1·Updated 2025-04-11

LCCutscene is a tool to create cutscenes and immersive animations to Lethal Company.

About this mod Author’s original text

LCCutscene (W.I.P.)

LCCutscene is a tool to create cutscenes and immersive animations to Lethal Company. (Originaly made for Diversity)

Examples

Cutscene:

Quickscene W.I.P.:

Usage

Cutscenes

  • Add the following namespace:

using LCCutscene;

  • Create your custom Cutscene using the `Cutscene` class:

Cutscene(Transform cutsceneTransform, Float cutsceneDuration)

{

AllowPlayerDeath = false,

AllowPlayerMovement = false,

TransitionIn = Transition.FadeOut,

TransitionOut = Transition.FadeOut,

TransitionInSpeed = 1f,

TransitionOutSpeed = 1f

};

NOTE:

The cutscene transform is used for the cutscene camera to clamp on and is recommended to be animated!

  • Play your new cutscene using the `CutsceneManager`:

CutsceneManager.Instance.PlayScene(Cutscene myCutscene);

NOTE:

Only one cutscene can be played at once! (Per player.)

Full Example:

using System.Collections;

using System.Collections.Generic;

using LCCutscene;

using UnityEngine;

public class MyCutscene: MonoBehaviour

{

public Transform animatedTransform; // The Transform where the cutscene camera will clamp on. //

public Animatior animator; // Animator for animating your cutscene. //

private Cutscene scene; // The cutscene itself. //

void Start()

{

// Create your cutscene. //

scene = new Cutscene(animatedTransform, 10f)

{

AllowPlayerDeath = false,

AllowPlayerMovement = false,

TransitionIn = Transition.FadeOut,

TransitionOut = Transition.FadeOut

};

}

public void PlayMyCutscene(Collider col)

{

CutsceneManager.Instance.PlayScene(scene); // Play your cutscene. //

animator.SetBool("PlayCameraAnimation", true); // Play your custom animation for your animated transform and much more! //

}

}

Quick Scenes [W.I.P.]

  • Add the following namespace:

using LCCutscene;

  • Create your custom Quickscene using the `Quickscene` class:

QuickScene(float duration, Transform targetPosition, float targetRotation, AnimationClip clip, Transform targetEndPosition = null, float? targetEndRotation = null, POVType pov = POVType.Full, PlayerPose startingPose = PlayerPose.Standing, PlayerPose endingPose = PlayerPose.Standing, bool snapPlayersToPositions = true, float snapSpeed = 10f)

NOTE:

The `AnimationClip clip can also be changed to List clips` for more complex animations for the player. These clips will be played one after another in order.

IMPORTANT:

`POVType.ArmsOnly` is currently in W.I.P. and won't be available until updated!

  • Play your new Quickscene using the `CutsceneManager`:

CutsceneManager.Instance.PlayScene(Quickscene myQuickscene);

NOTE:

Only one quickscene can be played at once! (Per player.)

Full Example (Vaulting over desk example):

using System.Collections;

using System.Collections.Generic;

using LCCutscene;

using UnityEngine;

public class MyQuickscene: MonoBehaviour

{

public Transform startTarget; // The start position and rotation for the player to clamp on. //

public Transform endTarget; // The end position and rotation for the player to clamp on. //

public AnimationClip clip; // The animation clip for the Player. //

public QuickScene scene; // The Quickscene itself. //

void Start()

{

// Create your Quickscene. //

scene = new Quickscene(clip.length, startTarget, startTarget.rotation.eulerAngles.y, clip, endTarget, endTarget.rotation.eulerAngles.y);

}

// If the local player reaches a designated area while running, it triggers the quickscene. //

void OnTriggerEnter(Collider col)

{

if (col.gameObject.TryGetComponent(out PlayerControllerB player))

{

if (player == StartOfRound.Instance.localPlayerController &&!CutsceneManager.Instance.cutscenePlaying && player.isSprinting)

{

CutsceneManager.Instance.PlayScene(scene); // Play your Quickscene. //

}

}

}

}

Syncing animations for other players (Quickscene only):

  • `PlayAnimationOnOtherPlayer` is used to play the same animation set to other players that aren't the local player:

public void PlayAnimationOnOtherPlayer(PlayerControllerB player, List clips)

public void PlayAnimationOnOtherPlayer

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack

File & checksum

Filename
LCCutscene-2.0.1.zip
File size
56.0 KiB