#BepInEx Faster Load AssetBundles Patcher
3449 messages ยท Page 4 of 4 (latest)
General Improvements is literally a jack of all trades, but a master of none
Just keeping it because it has features that other mods doesn't have
Yeahhh
https://github.com/Shaosil/LethalCompanyMods-GeneralImprovements/blob/master/Patches/EntranceTeleportPatch.cs @plucky stump I just noticed, GeneralImprovements' Fire Exit patch is using reflection
That might explaion why there's lower performance inside interiors with GI
https://thunderstore.io/c/lethal-company/p/KarmaModding/NoFacingFireExit/ This mod seems to be a great alternative
It's doing it without using reflection
that reflection usage it's only when needed
Ahhh got you
so not every frame
๐
but yeah it can be optimized to remove that reflection entirely
Yeah the mod I posted seems to use a much more simple approach for it
๐
question if u donโt mind answering. what does it mean to use reflection within unity?
reflection is c# thing to get/set value to the any field, property or even call the method
mostly used to get access to the private stuff
but reflection is not cheap to use it
ohh okay
that's why game libs that modders uses already makes everything public, so they don't need to use reflection
thanks for the explanation ๐
what about this one?
That one uses reflection too
If you check it's source
that doesn't tell if it's really using reflection
Yeah it doesn't have a decompiled github source unfortunately
So dunno if it's actually using it or not beyond that
yeah that also doesn't use reflection
so reflection is only a really big problem when itโs being done often like every frame with Update
is that right? a few reflection is okay
I wonder which of the 2 is more optimized, or if they're both about the same lol
you're probably overthinking at this point, it's just a flip in the fire exit door
Now I just wanna see if either of these are compatible with the patch Starlancer uses for his Warehouse interior
why bother which one does it better
That's true
yeah
they are same
๐
Btw any mods in my pack that might be a bit performance heavy? Outside of SoundAPI murdering everything? XD
Cus I did remove SoundAPI
I think there's no performance heavy mods in your pack
๐
only rendering is now taking a lot of CPU time
Yeah so basically LCUltrawide then
Idk what else would increase rendering
Maybe some of the moons and interiors might
I found a resolution that the HDRP system seems to like a bit more than 1080p but is equal to it
c;
1792x1008 seems to work really well for this game
So if anyone wants a hidden resolution that performs better and you use LCUltrawide try this out
^^
whatโs up doc?
it's just... cursed
I mean the default res the game runs on is also a pretty scuffed unpopular resolution though too
lol
I tried 1664x936 interestingly enough
and it gave me some weird input delay
I wanted something that the game liked that wasn't as performance heavy as 1080p but also didn't give me eye strain lol
Game liked?
Yeah 1080p causes slow rendering on the CPU and some resolutions cause some odd input delay
HDRP is very strange
odd input delay is probably more driver issues
Doubt. Seems like it's down to hardware.
I have a high end system so it's definitely not that lol
You do know that you don't need to touch width, right?
Width adapts to height when kept at 0.
Ahhh nice
If you change it and then share the code with someone who isn't on the same aspect ratio, they'll have a scuffed looking game.
So you just recommend changing the Height?
#modding-general message
Yes, leave width at 0 and only change height.
As for number, try 720 or 900 I guess. At least those aren't as cursed.
You should probably have it as a multiple of your screen resolution too
To avoid weird upscaling stuff
Yeah the resolution I mentioned was a 16:9 resolution
Weird with height at 1080 and width auto adjusting it's smoother than having width set manually
I dont mean the aspect ratio, I mean you should have the rendered resolution be 1/1, 1/2, 1/3 e.t.c. of your screen resolution
Pixels would just look uneven. Not that bad. You also can't really account for every resolution when doing that, when it comes to profile sharing.
I guess if you have a high DPI you wouldnt notice
Unless you find a number that divides both 1080 and 1440 evenly. But IIRC that's 360p, which is quite low.
Well your own config doesnt have to account for other resolutions
Well, it gets shared through a code.
Half of 1080p would be 540p which would be pixelated and give eye strain
I get bad eye strain even at 720p with the way this game renders things
lol
Yeah
1080 with width set to 0 seems to run better
Which is interesting
For what it's worth I have a 3060 and 12900k XD
HDRP definitely seems to prefer 720p
Input is smoother but I also have my mouse set to use a high dpi lol
720p isn't as bad with Width on Auto, I think the issue was cus I was also capping Width before
but 1080 performs better with Width on Auto so I'll probably keep it on 1080
Another thing I'm guessing for best compat for everyone LCUltrawide is probably best just being set to 0 for Width and Height lol
That way it can just automatically scale
It won't scale height that way. It will always stay vanilla.
Got it
Hey Lunx, sorry for pinging you, by any chance do you know a mod that let you set an enemy spawn when landing on a specific moon?
Nope not really, you might be able to change values in LLL's config for that moon though, another mod I imagine would work for this is Lethal Quantities but I've never tried to use it
I know LQ is the most commonly used option for things like this though
@plucky stump Finally flat out removed GI cus it feels like it's been a domino effect of it causing me issues recently lol, and it made the Ship feel quite a bit smoother
not to step on shaosil's toes but i'm planning to implement a lot of the bug fixes into butteryfixes and auto-disable them if generalimprovements is added
i probably won't add any major features and it likely won't ever be feature paritous
but some of the small things like landmines disappearing on the terminal after exploding
or the "n" on screen when you use view monitor
etc
Ayyy glad to hear it, the bug fixes like Flashlight Fix and the Terminal Locking feature will be good
well those probably fall more into the realm of "new features" which im more iffy about
fixing the flashlight toggle when you put it in a cupboard will probably make it in though
Yeah that's what I care about the most, as far as I'm aware Reserved Slots fix the other main issues

Yeah idk why it lowers the overall fps of the game but removing it has made the game feel much smoother all around
Is that wally West???
You find anything funky with TestAccount's scan mod?
Lol
test knows his stuff Iโm sure itโs good
@plucky stump If you can manage to test out the new SoundAPI update, it might be worth profiling to see if the issue you discovered before is fixed. I say if because the update has a problem where some people are unable to update it in R2
I was able to personally but I'm waiting until that problem is fixed before I readd it to my pack for my group to try again
It still allocating, but much less, so you can try to use
Also, don't really sure why everyone started to getting path too long issue
Yeah he switched the way it handles strings to help out a lot lol
Oh I might know
https://thunderstore.io/c/lethal-company/p/dotnet_lethal_company/SmartFormat/
Because I'm using this lib that depends on ZString
There's a path feature that's disabled by default, I manually had to enable it before lol
And many people didn't report any issues with path too long
So it could just be that
Yeah idk
Could just be something is slightly too long lol
https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#enable-long-paths-in-windows-10-version-1607-and-later It's probably this though
I had to enable that before cus I've made mods for Cyberpunk and WKit said I needed to enable support for that
I know that installing devs tools (Python, Visual Studio) enables long path by default
Noice so that may be why you didn't need to manually enable it through Powershell then
So this explains why I couldn't send a code to my friends...
Godamn it ZString
I wonder how 1.1.6 is fairing for the allocation stuff, he Yeeted the zString stuff
Hello! just saw your message, could you link me to some mods that don't work so I can improve the compatibility? :D
v55-beta support tag added
https://thunderstore.io/c/lethal-company/p/XuXiaolan/CodeRebirth/
https://thunderstore.io/c/lethal-company/p/XuXiaolan/ChainsawBasher/
The main 2 I know of for sure, I also know it was hard to scan some vanilla enemies and hazards like Spore Lizards and Landmines
Thx!
I did just push an update that should fix CodeRebirth, I'll check the other one c:
Although since both mods are from the same person I assume the second one should work too now
Hope so lol
whats wrong with basher? other than wonky third person animations?
so does caching not work in the latest beta?
@plucky stump
i have 115 mods and they arent in here ig
ah gothca found it
v56 tag added
Will be slowly working on 1.0.0 release. Currently made project restructure that will allow me add LethalConfig dependency ๐
also that longy class name lol
oh and also LethalConfig will be hard dependency, because I'm will be making an global config instead of modpack config, so yeah..
mod trying to load bundle that doesn't exist
you should report it to the the Dev of the mod
It took me like a whole ass minute to realize u meant the dev of the bundle mod and not urself
ight will do, thanks
pls noooo
I mean you can disable the LethalConfig and patcher will still work
but you will have to find the global config manually to change settings
this mod maybe can fix my pc freezing when loading the game?
If your memory usage is high then it might help you
k thx
oh
i mean i dont think id ever need to mess with this mods config, so i guess thats fine
๐
๐
damn it not again
Is loadstone incompatible?
lol
Hell yea
Thatโs smart
This is why we pay you the big bucks
BepInEx Faster Load AssetBundles Patcher goes hard
lol
@plucky stump am I correct that when looking at the asset bundle file sizes, for example a 500,000kb bundle would be 500mb of ram used from that mod?
or is that not how that is
Yes pretty sure it's showing how much is usually loaded onto ram
But I'm not certain
I always thought that was how it worked but wasnโt sure either
+- yes
when i send the code to someone, do my friends also get the asset bundles too?
no
they need to be generated upon launching the game
and it can take several minutes
a progress bar in the game UI or BepInEx console would be handy honsestly @plucky stump
no
Yes
they are generated in background
yea but you donโt reap the benefit of lower ram consumption until it finishes and you re-launch the game
welp, that was better solution for everyone
works for me
The progress bar would just let you know when itโs done but itโs a soft suggestion just wanted to see what u thought
because from user perspective installing that mod would cause a very long start up for the first time, so they would report that
but now I don't get any reports of long start up
Makes sense
What about something in the log that just notifies when itโs 100% complete generating the assetbundles folder?
just no
Respect
I made this today
Youโre a double-feature
TRIPLE
just add all my mods
๐คฃ
hmm
@proud sorrel will you able to test a preview update of BFLAP?
rn
Not literally rn but like 1hr
alr
CompanyCruiserFix is in this one
https://thunderstore.io/c/lethal-company/p/woodroach/BugfixBundle/
Preview update:
- Force use LZ4 compression.
- Removed check if original bundle is already decompressed.
@proud sorrel Install that mod and then delete all cached bundles (but before that save the size value of every bundles). After decompresion check the size again
and report here
Kk I will

this should go in patchers/DiFFoZ-BepInEx_Faster_Load_AssetBundles_Patcher ?
is this everything u needed?
yeah
When you dropping that update my sweet little prince?
who knows
Also, you can safely send them that cache to your friends
and it will load just fine
yes sir
trying to figure out the most convenient way of sending my friends the cache
ig just google drive
Omg
@proud sorrel where do you find the cached bundles?
Steam folder for Lethal Company
Found out that someone ported my mod to Outer Wilds
https://github.com/JohnCorby/OWFasterLoadAssetBundles
A port of https://github.com/DiFFoZ/BepInExFasterLoadAssetBundles for Outer Wilds. - JohnCorby/OWFasterLoadAssetBundles
nice โบ๏ธ
Interesting
U know whatโs funny is the RAR size is slightly bigger with the new compression method of the AssetBundles
But itโs worth it
yeah compression with compression will not work best as uncompressed to compressed
BFLAP new version release soonโข๏ธ ๐
LETSGOOOO
BFLAP new version now preloads the entire game with mods on pc boot
Hi, just downloaded the mod, If I understand correctly, when first opening the game, the mod will unpack all the asset bundles from the other mods and store them close for the next boot. I have a few questions hope i'm not too much of a bother, love what you're doing, it cuts my load time by more than half!
- When a mod updates, is a new cache file processed to adress it?
- What if a mod updates only it's code, not the assets, is a new cache file generated?
- I read that the cache stays valid for 3 days. Does that mean that all benefits are lost after 3 days?
hello,
1/2. When hash of the assetbundle file changed it will trigger decompression. So if only dll file got changed the assetbundle decompression will not be triggered.
3. Yes, after 3 days cache state set to invalid (and deletes the cached bundle).
Thanks for the quick response! Would be cool if the cache invalidation time was longer. I usually play once a week. But just for quick game restarts this is amazing!
๐
so based on #3 we should delete the cache folder every 3 days? or does it do it automatically?
it does it on every game start
v60 tag added
what is this mean? should I just ignore this?
System.IO.FileNotFoundException: Could not find file "D:\Gale\lethal-company\profiles\SoLethalEssence\BepInEx\plugins\Zaggy1024-OpenBodyCams\openbodycams"
File name: 'D:\Gale\lethal-company\profiles\SoLethalEssence\BepInEx\plugins\Zaggy1024-OpenBodyCams\openbodycams'
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <787acc3c9a4c471ba7d971300105af24>:IL_019E
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options) [0x00000] in <787acc3c9a4c471ba7d971300105af24>:IL_0000
at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions)
at BepInExFasterLoadAssetBundles.Patcher.LoadAssetBundleFromFileFast (System.String& path) [0x0000b] in ./Patcher.cs:81
[11:38:36.7990475] [Error :OpenBodyCams] Failed to load the asset bundle, some features may be missing.```
System.IO.FileNotFoundException: Could not find file "D:\Gale\lethal-company\profiles\SoLethalEssence\BepInEx\plugins\Piggy-Piggys_Variety_Mod\piggyvarietymod"
File name: 'D:\Gale\lethal-company\profiles\SoLethalEssence\BepInEx\plugins\Piggy-Piggys_Variety_Mod\piggyvarietymod'
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <787acc3c9a4c471ba7d971300105af24>:IL_019E
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options) [0x00000] in <787acc3c9a4c471ba7d971300105af24>:IL_0000
at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions)
at BepInExFasterLoadAssetBundles.Patcher.LoadAssetBundleFromFileFast (System.String& path) [0x0000b] in ./Patcher.cs:81
[11:41:03.7316844] [Error :PiggyVarietyMod] Couldn't load assets: Object reference not set to an instance of an object```
mod that trying to load bundle that doesn't exists
yeah, Zaggy said it's Gale thing
ive been lowering my mod packs moons to make sure my friend with 8gb of ram can play
you think lethal running at 7.1gb of RAM at the peak allocation time joining a server, would be fine for them?
probably would be fine if Windows will use pagefile
think they should let windows automatically manage page file size? or put some manual amount
let windows automatically do it
but I made it to manual, because 32GB of RAM is not enough for me ๐
nice ram size, but check out my ram speed ๐
from an old laptop. no clue why the speed was saying that, but it definitely wasnโt running that fast. xD
oh man that gif ending xD
||๐ฅ ||
LR?
Lethal Resonance
Worth checking. Hey man I just make sounds, the technical side is SoundApi 
soundapi is also don't use bundles
so BFLAP cannot speed up LR & soundapi load time
@grand coral actually i can publish the update that adds compression
Ooh :3
Lmk when you push it ๐
sure
compression? sounds interesting
It'll make cached assetbundles not be as large
So they'll use up less disk space and less vram
@rocky elbow maybe this will help for the next time you play :3
@plucky stump Are you still gonna be updating this soon? ;o
ehh probably not soon
just taking a break from the modding
and playing Core Keeper and Frostpunk 2
Fair :3
Core Keeper has been looking cool
I'm thinking to add config option (for modpack devs) of RAM check, so if user has less than or equal 8GB then decompression happens on main thread (slower but allows to boot up the game without crashes)
for some reason my game keeps crashing with this mod
then you have unsupported mods installed
wdym
I thought it works with all mods
no it doesn't
each mod has to add support?
oh is it only XUnity_AutoTranslator. Tracked by issue #9.
[IntroTweaks]. No fix will be made.
[0.6.5] 2024-10-26
Changed
- LZ4 compression is now used instead of uncompressed.
Fixed
- Potential fix for Wine that it reports wrong free disk space.
Bro returns from the dead
how did bro circumvent the russian government??? ๐คฏ
goverment doesn't know that I have DPI bypass and VPN
welcome back (almost a month later hi)
Is this normal
or is my new hardware just ass
After doing a fresh install of LC, it's taking like more than 5 min to have this mod do whatever it's needing to /w LLL
10 min on average
If it's your first launch, it's normal that it takes longer
Depends on how many content or mods you're using
After the Cache gets created in your LC folder, that shouldn't happen anymore
Btw @plucky stump I know you mentioned disabling the Sqlite before but honestly this is the setting that should fix the lag from sqlite logging right?
I don't think so
disabling db logger would be better
plus it would then make finding the source of the problem harder without stacktrace
What exactly is the dblogger doing to cause so much overhead? Just curious if @abstract gate Could optimize it potentially
well my ssd just dies when writing db
probably because it's cheap ssd without cache
Honestly
I had a time recently where my game error spammed so bad the game hitched bad, and when I tried to open my file explorer to check logs it crashed and rebooted my windows explorer, my whole taskbar then became unresponsive until I force closed the game with Steam
that was fun
Probably from that
yeah when game spamming error my ssd usage is always 100%
tbh writing to db should be cheaper than the writing the logfiles. and for sure you'll get a 2 to 3 times increase in performance if you disable logging altogether
There must be something that makes the dblogger dislike errors and stacktraces
this XD
That setting is only for dblogging right?
this collects an extra stacktrace each time you get a Error or higher
or is it both?
keyword extra
If I had to guess, considering the way most of your mod works
It disables them in the normal log and puts them only in the sqlite
currently only the dblogging stores the trace but Asyncloggers will collect it even if DBLogging is off
that's not how it works. it's extra it's for when the error does not have a trace ( eg: the active agent/navmesh ones )
Ah got you
I will say turning that off should help then, cus navmesh errors are almost unavoidable half of the time
you should disable it if you have tons of errors. but like what i said in the AsyncLoggers thread if you have something throwing errors each frame you have bigger problems than FPS ๐
For some reason clients got a shit ton of
"SetDestination" errors earlier
But I had none
Not too sure what could cause that
if you have the sqlite db you can see who threw them . if you disable this you'll have no debug info
Maybe you can find it
I still don't completely know how to fully utilize it
is this yours?
CodeRebirth
at System.Environment.get_StackTrace () [0x00000] in <787acc3c9a4c471ba7d971300105af24>:IL_0000
at AsyncLoggers.Patches.LoggerPatch.WrapLogs (System.Object sender, BepInEx.Logging.LogEventArgs eventArgs) [0x00044] in ./src/Patches/LoggerPatch.cs:43
at BepInEx.Logging.Logger.DMD<BepInEx.Logging.Logger::InternalLogEvent> (System.Object , BepInEx.Logging.LogEventArgs ) [0x00000] in <fe49c90fe8e24102b42489c11910c71c>:IL_0000
at BepInEx.Logging.UnityLogSource.UnityLogMessageHandler (System.Object sender, BepInEx.Logging.LogEventArgs eventArgs) [0x00000] in <fe49c90fe8e24102b42489c11910c71c>:IL_0000
at BepInEx.Logging.UnityLogSource.OnUnityLogMessageReceived (System.String message, System.String stackTrace, UnityEngine.LogType type) [0x00000] in <fe49c90fe8e24102b42489c11910c71c>:IL_0000
at UnityEngine.Application.CallLogCallback (System.String logString, System.String stackTrace, UnityEngine.LogType type, System.Boolean invokedOnMainThread) [0x00000] in <e27997765c1848b09d8073e5d642717a>:IL_0000
at UnityEngine.AI.NavMeshAgent.SetDestination_Injected (UnityEngine.AI.NavMeshAgent , UnityEngine.Vector3& ) [0x00000] in <adf06e45d93c42328787a65c0eca6390>:IL_0000
at UnityEngine.AI.NavMeshAgent.SetDestination (UnityEngine.Vector3 target) [0x00000] in <adf06e45d93c42328787a65c0eca6390>:IL_0000
at CodeRebirth.src.MiscScripts.SmartAgentNavigator+<SearchAlgorithm>d__44.MoveNext () [0x0006e] in ./src/MiscScripts/SmartAgentNavigator.cs:465
at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00000] in <e27997765c1848b09d8073e5d642717a>:IL_0000
at UnityEngine.MonoBehaviour.StartCoroutineManaged2 (UnityEngine.MonoBehaviour , System.Collections.IEnumerator ) [0x00000] in <e27997765c1848b09d8073e5d642717a>:IL_0000
at UnityEngine.MonoBehaviour.StartCoroutine (System.Collections.IEnumerator routine) [0x00000] in <e27997765c1848b09d8073e5d642717a>:IL_0000
at CodeRebirth.src.MiscScripts.SmartAgentNavigator.StartSearchRoutine (UnityEngine.Vector3 position, System.Single radius) [0x0001b] in ./src/MiscScripts/SmartAgentNavigator.cs:442
at CodeRebirth.src.Content.Enemies.RedwoodTitanAI.WanderAroundAfterSpawnAnimation () [0x0001a] in ./src/Content/Enemies/RedwoodTitanAI.cs:650
redwood
This was mine
Oh fun, so the Redwood even though it pathfinds just fine constantly throws that for Clients?
Lovely
@stable jacinth Can you inform Xu about this?
She left again
left again bruh
She's taking a break for a while I spoke to her
And is it all the Redwood?
only the first one mentions redwod the others are just loops over the generic CR pathfinding component so not sure what monster are from
still 100% CR

Yeah but still bad for clients lol
not too sure what tool you use to open the sqlite but this is the important part for searching:
Where message like '%SetDestination%'
DB Browser for SQLite
or the full query:
Select * from Logs where message like '%SetDestination%'
obvs replace the SetDestination with what you want to search and the % signs are the wildcards
yeah not too problematic
It's cus GI turns them off
the corutine system will be superseded soon anyways in RuntimeIcons
i'm as confused as you are ๐คฃ
Fun
I bet that's when he sits down the first time and his audio gets caught in that weird loop
Oh wait @abstract gate I bet the other thing in CodeRebirth causing issues is the Microwave
It's the only hazard that moves
@stable jacinth More info to add
Shy Guy throws a lot of errors
Might be time to remove him ๐ฆ
https://canary.discord.com/channels/1168655651455639582/1253705079605956640
This thread will be closed, please use Lethal Performance thread instead.


