[Bug]: Lethal Company: Launches but freezes after pressing host button
What happened?
Launched the game, noticed the TAS tools didn't even work properly, pressing F1 didn't do anything, tried launching a game by pressing host and the game freezes.
What should have happened?
Not that lmao
UniTAS version
Latest main
BepInEx version
v5.4.x
Game name
Lethal Company
Game build
Windows x64 - Mono
How to reproduce
- Launch the game
- Press Online or LAN (either gives the same result)
- Press Host
- Freeze
Log output
Additional context
No response
hm interesting i never really know what i expected with this tool and online games like lethal company i'm wondering playing completely solo is TASable i'll look into this and see what the problem is
Seems like loading scene is a bit broken for lethal
[Error : Unity Log] Exception: Failed to find any loaded scene named SampleSceneRelay!
Stack trace:
Unity.Netcode.NetworkSceneManager.GetAndAddNewlyLoadedSceneByName (System.String sceneName) (at <895801699cfc4b4ab52267f31e2a4998>:0)
Unity.Netcode.NetworkSceneManager.OnSceneLoaded (System.UInt32 sceneEventId) (at <895801699cfc4b4ab52267f31e2a4998>:0)
Unity.Netcode.SceneEventProgress.<SetAsyncOperation>b__37_0 (UnityEngine.AsyncOperation asyncOp2) (at <895801699cfc4b4ab52267f31e2a4998>:0)
UnityEngine.AsyncOperation.add_completed (System.Action`1[T] value) (at <e27997765c1848b09d8073e5d642717a>:0)
Unity.Netcode.SceneEventProgress.SetAsyncOperation (UnityEngine.AsyncOperation asyncOperation) (at <895801699cfc4b4ab52267f31e2a4998>:0)
Unity.Netcode.DefaultSceneManagerHandler.LoadSceneAsync (System.String sceneName, UnityEngine.SceneManagement.LoadSceneMode loadSceneMode, Unity.Netcode.SceneEventProgress sceneEventProgress) (at <895801699cfc4b4ab52267f31e2a4998>:0)
Unity.Netcode.NetworkSceneManager.LoadScene (System.String sceneName, UnityEngine.SceneManagement.LoadSceneMode loadSceneMode) (at <895801699cfc4b4ab52267f31e2a4998>:0)
MenuManager+<delayedStartScene>d__91.MoveNext () (at <0b5b829887344817a21214132ea92eef>:0)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <e27997765c1848b09d8073e5d642717a>:0)
This doesn't happen without UniTAS
so looks like it can't find the scene when the AsyncOperation event is called back immediately here
I should delay the event callback
either way, this can break existing movies sadly as it alters when the event is called back to be more accurate in behaviour
todo
- [x] do I callback on
FixedUpdateorUpdate, or either - [x] on
AsyncOperationevent callback, isisDonetrue or false, and what value ispriority? Test normal behaviour-
isDone: true,priority: 1
-
Pushed fix, new input system would probably stop it from working, but that's a whole different issue, closing