LCCutscene
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
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- 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.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- 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.
Install these first, or the mod will not work: