#Lethal Performance & DiFFoZ Tweaks & BepInEx Faster Load AssetBundles Patcher
1 messages · Page 8 of 1
my patch is specific for EntranceTeleports and i actively keep a list of "live" EntranceTeleports. Diffoz instead uses a more generic patch targeting multiple script types and, i belive, searches for them using the lists NetworkManager keeps natively
that means if something is never spawned ( aka host calling .Spawn() ) the NetworkManager does not know about them. and also all their RPCs will not work
somehow, current LethalPerformance is making the game get stuck loading ship if SuitsTerminal is installed, throwing this error
-# i went to disable all mods i had one by one and i found LP to be the culprit
you probably should send modpack code
sorry if you get this question a million times per day, but what does DiFFoZ Tweaks do?
Adds an option to not load plugins by typing GUID in the list, an option to limit amount of MoreCompany cosmetics, and an option to flash the taskbar app when the game loads.'
Ohhh, thanks
i feel like diffoztweaks needs a proper readme to reduce the number of questions asked about it
quick question, what does diffoztweaks do?
i was about to send an explanation i said to someone else
Plugin banlist is nice for i.e. hook gen patcher being in a modpack with autohookgenpatcher
It's a cool mod but the fact there's nothing in there is like
ill just send it anyways since more details on the not loading plugins by GUID
How is the average layperson gonna know what the silly tweaks are if there's no front-facing info that explains what diffoz is tweaking
by the way i tried to do this with moon day speed multiplier patch for cosmocos and empra in a mod pack
its a hard dependency of both
so guess ill die
Why the fuck is it a hard dependency dawg
CC/editing a moon exists
Thanks, Wesley
.
in practice its a soft one, its just set as hard in the code
which is only really a problem for this specific instance
and not really warrant for changing it
its fine
hookgenpatcher doesnt work in the blacklist cus its a patcher
which aren't able to be stopped by plugins
no way that it's hard dependency
maybe just wrong guid used?
it was set as hard
i tried clearing cache
and confirmed it wasnt working by disabling centralconfig
cosmocos loading its first layout actually completely breaks if you have both the patcher and centralconfig enabled
it just doesnt load the terrain at all
if it wasnt set as a hard, it wouldnt have happened
i even made extra sure by deleting the plugin folder and recreating it
hmm, what guid did you use?
"com.github.WhiteSpike.MoonDaySpeedMultiplierPatcher"
actually wait
do you
like
add a space
after a comma seperator
i
forgot to try that
youre trying to disable the day speed patcher cus u use CC right
yes
ok
well
it didnt do it
its either that
its set as a hard dependency
or i fucked up the seperator
can you send modpack code?
i removed it from it
it prob is hard dep
ill have to recache and stuff
@polar willow
is there a reason you use cc instead of LQ
you can use spaces
centralconfig was what i just.. went to
and it works perfectly fine
it should trim them
ive never encountered major issues using it and idrk what people are talking about
my mod packs function perfectly fine with CC
beyond that, too lazy to switch to another content configuration mod
it isnt that it doesnt work
more like it overrides other mods
which people dont like
its most prominent with WR
I use WeatherRegistry, and encounter none of this
I just tried on fresh modpack and it blocks moon time patcher
it overrides WR's weather modifiers
for scrap # and value
what the fuck
ig see what i did wrong 019664b9-e0a6-fe94-0408-79a4a20fc753
idfk
fair enough
the main point of contention is that CC doesn't let you turn it off
it will always override it
which feels too invasive for most
ok and
whats wrong with just
moving what you changed to its config
i know its like
really complicated to follow the config
but still
people cant take like 40 seconds to figure it out?
that isn't the point
mods shouldn't be actively invalidating other mods so they can do the same thing
it blocked
hold on
make sure that you deleted that folder
no?
no like with centralconfig
¯_(ツ)_/¯
sorry! heres the thing 019664c0-7a75-3114-62ad-c70375cad9df
@topaz sparrow you have a mod that hide default suit causing suit terminal to fail
maskfixes?
i mean, yeah? thats what suitsterminal does
it hides the suit rack
yes, but some mod does hide default suit before suit terminal
that sounds like maskfixes
hmm, thats something i dont know of
unless this isnt related to moresuits
i mean when i start the game, i spawn with the default orange suit
@topaz sparrow do you have both moresuits and maskfixes
yes
yeah ok thats why i think maybe
moresuits adds like 100 duplicate orange suits
into your game files
buttery had to make maskfixes do a workaround for that
because the randomize suits feature would just be able to select orange from all of the duplicates
seems like she made them be hidden
and thats in turn breaking your game with suitsterminal specifically
@agile oyster you might wanna read up a bit
i do want to point out, it only breaks with lethal performance enabled
wait
hold on
fresh profile, only added lethalperformance, suitsterminal, and lcbettersaves
i am pretty sure this is a conflict with moresuits + maskfixes + suitsterminal
I use all of these in my pack and haven't ran into issues
Let me double check
Yeah it's fine for me
to make it clear, when i boot disabling suitsterminal, the game loads
when i boot disabling lethal performance, the game loads
when i boot with both of them, i get stuck loading
@worthy fulcrum I don't think it's MaskFixes unless it'd be related to some config option
It's not LethalPerformance, something is breaking probably cus it caches stuff
It's some other mod
no
mask fixes builds a separate list of IDs that masked are allowed to select from
orange suit is blacklisted from being added twice
I'll say that it will be wontfix because some mod hide gameobject, but it still networked
none of the underlying suit mechanics are touched
Yeah ideally Readek should post their mod code
and a log
Cus it certainly isn't LethalPerformance
I hate when accusations are falsely thrown at mods
I knew it couldn't have been MaskFixes since my pack works fine
heres the code (or just the modpack directly)
https://mattymatty97.github.io/ts-profile/?profile=019664c0-7a75-3114-62ad-c70375cad9df @polar willow You can use this to easily view the profile
get a preview of a profile code!
my assumption was based off what diffoz said
he specifically mentioned the orange suit was being hidden
and the only mod i know that possibly would do that is maskfixes
It's possible it's Remnants tbh
But I also see a ton of outdated mods in this pack
which ones? im interested
am i crazy or is it not generating the log :/
I mean if you use Gale you can quickly see them all by sorting by Last Updated and scrolling to the bottom
i mean yeah i know which ones are old
matty uses cors proxy to fix the issue with strict cookie settings
Usually when troubleshooting issues the first thing is to always look at old mods
but if it happened recently, wouldnt it make more sense to look at last updated first?
I mean I also have strict cookie blocking cus I use Brave 🤔 but interesting
suitsterminal hasnt been updated for 2 months so i just went disabling most rencent mods until it booted without lethal performance
Not always, as time goes on old mods can cause issues to arise and cause conflicts with newer mods
I generally phase out old mods after a certain amount of time for this reason
Keeping old and outdated mods is bad practice
If you have mods that are 8+ months old
It's time to look at removing those
if possible
Dependencies are usually fine
hmm but what if there are no equivalents
and scrap mods like Monster Plushies for example are still okay
Oh god yeah
and behavior is set to inactive instead of rendering
I stopped using LethalPipeRemoval cus it's so horribly invasive
thanks for the find, ill go take a look
i did see some mod that was able to do similar stuff but i kept piperemoval because of some of the repositions like the tp buttons
Those options cause performance issues anyways, I'd recommend Mel's furniture mod if you wanna move some of that stuff instead cus you can buy them as upgrades
already got that one 😎
honestly
@fallen ember probably you should handle 403 as restricted and not ratelimit 
or just rewrite it to not use cors proxy
if u use lethal pipe removal to get rid of anything aside from the suit rack
check out sciencebird tweaks
it has a config to remove parts like that
yea thats the mod i remember seeing configs for
also have it on the modpack so i could just make the full swap and drop pipe removal
that would be ideal
having the tp buttons next to the lever is so cool though... and i also have a fixed terminal position
Furniture Lock can deal with moving the terminal and stuff
true
LPR is pointless nowadays
i started using furniture lock recently since i found out it doesnt have to lock stuff in place
Ship Colors can hide extra stuff if you wanna mess with that, the option is off by default though cus if you swap out ship mods it causes issues
it can be used as just a way to set new defaults
it helped a lot with setting a new default for the terminal (since it blocks shipwindows)
oh so that's why it didn't work for me last time
i would if i could. i already requested TS to relax the cors policy on some endpoints.
the only way i can drop it atm would be to make my own server to proxy the traffic trough wich i do not want to do
That's what I use for my /tsprofile command on my discord bot
🤔 if you had an endpoint to also download the zip itself that would fulfill parity with my features. but i also don't want to ask you that as it would cause a lot more traffic ( which is also the reason why i made mine serverless )
tbf idk why there isnt just a page on the thunderstore site to view a profile code and download a zip of it
Honestly same
753 said they are working on it and it's planned just after the new site.
Please, make this annoying pop-up optional
I don't care if it makes debugging issues worse--it's annoying having this thing crop up on a vanilla moon that has extra fire exits added to it every time I land, which mind you aren't even blocked to begin with
That's okay, I just hope whenever they get back into developing Lethal Company mods; they address this
as a small note. the message pops up because of the interiors not the moons
they prob have custom interiors
In what sense?
or MapImprovements that changes moon in runtime
it's mapimprovements
dev already knows about that
they don't network the added fire exits correctly yet
😭
Yeah so idk how you get the stupid blocking shit to work for mods loading
I've tried everything
it doesn't work
Just gonna keep disabling the mods instead
not worth the hassle
we could make a simple mod to force .Spawn() the offending objects but that's bound to break more than it's going to fix 😅
in a more "safe" way we can make a mod to instead delete the offending objects . and that's bound to leave so many missing things around 🤣
With caching disabled (or enabled) and Map Improvements, if there are any extra fire exits the popup shows. But as far as I can tell there aren't any real issues that show because of the new exits. Unless its something more technical or subtle. Is the timing that they are added the only real problem? Causing LethalPerformance to show the popup.
FireExits (EntranceTeleport) have a single ( one Server and one Client ) RPC. namely TeleportPlayer.
the purpose of said RPC is to mark the player as inside/outside ( other than effectively moving the player on other clients, but this fixes itself with the normal movement packets just with some visual weirdness ).
if a FireExits is not spawned other clients ( excluding the one that used the exit ) will never know the player entered/exited
in turn enemies will not see said player as a target.
this is just one of the interactions that break when FireExits are not properly spawned
Thanks, that helps quite a bit. I hope the Map Improvements dev(s) are looking into a correct solution to spawning them. Hope they fix it soon.
It's just on modmakers to fix
I doubt it
I couldn't even figure out how to make it not load YesFox
It just ignores it
Tried deleting the cache so idk
🤷♀️
I might know why, the dll has an odd name gonna test it with the dll name
Yeahhhhhhh
Oh I misread
I thought you were referring to the entrance teleports
Mb
Na it uses guid
Check mod's source code and look for what it says in BepInPlugin
?
Mods dll has a tag in it called BepInPlugin
Usually shows the guid that chain loader uses for it
Ah
I noticed in some mods though that their separate guid variable doesn't match the bepinplugin
So always make sure with the tag
How would you block something like HookGenPatcher from loading though?
I'll just reenable it, it doesn't really matter tbh
the dll name matches the guid for all of my mods
Ye I noticed that
@polar willow if I turned MoreCompany down to 4 people, would that fix the audio mixers?
If it ensures that limit is set to 4 to not patch game code, then sure. @karmic crypt could answer if limit to 4 would fix that
yes
if the max players is 4 or less then it doesnt override the audio mixers
well... it doesnt block the voice pitch anyway
i tried it for myself and it sounded... off
maybe because ive done modded for so long ive forgotten how vanilla sounds
the only thing it'd still touch is volume
so except from that it'd be the exact same as vanilla
volume?
yeah the player's volume
it does different logic for volume since volume normally wouldnt work for 4+ players for the same reason for why pitch doesnt work
ah.
but thats mainly so the volume is always consistent when playing with morecompany
shouldnt really be any noticable difference
dissonance voice settings did make my friend sound metallic when i last tried it
but idk if thats what youre talking about
Im wondering if it made the voice effect sound clearer
Cause either repo is giving me false memories
Or im going crazy
Cause i couldve sworn the high pitched sound sounded a bit more... mumbly
maybe ur thinking of the effect when you get grabbed by a snare flea?
Is anyone else getting entranced blocked for the starlancer warehouse interior? I was setting dedicated moons for certain interiors, and when I go to asteroid-13 (the dedicated starlancer moon) I was getting consistent entrance blocks. The only time it wasn't blocked is when it rolled a different interior and just wanted to know if it's a general problem or just a me thing.
the pop up doesnt actually indicate the fire exit didnt generate properly
cant remember what diffoz said but it comes up due to how interiors are set up
most modded interiors just dont do the same thing vanilla interiors do to generate
and then that pop up happens when in actuality nothing is wrong per se
something like that
well if the popup appears there is something wrong
just you probably wont notice the issues
ok well yes but i more so mean nothing is wrong with the fire exit actually being on the map
my bad
fire exits usually still properly generate inside
of course sometimes they dont but thats just how it be
here is an example of one of the things that break when a fireExit is not network-spawned
imma turn off caching and see if like my computer explodes if i land at asteroid again
but basically the issue is something that the starlancer owner needs to fix?
yeah. normally it's the interior
any chance the moon could cause it?
but we also know MapImprovements has to fix
moon intself is difficult. a mod that modifies a moon ( eg: mapImprovements ) possible
ah
if you wanna be sure. just force a vanilla interior in all maps and load them XD
i don't use map improvements so it's not that for me at least
and the error only pops up when star lancer generates
works for most(?) of the others
idk have not went through them all
in the interior rn and other than some minor stutters it seems mostly fine
gonna see if the enemy ai is bugged at all
if you're testing in solo everything will be fine
what's broken is networking so desync with other clients
if you get the warning it's 100% going to happen. then it might be unnoticeable for your crew
wait does that mean desynced interiors as a whole
so I'm gonna assume it's something small that's bugging
no the desync is going to be in the ai behaviour
or if any other mod reacts to the use of FireExits
vanilla things that break is just AI not considering players targetable because they still belive they are outside/inside
well also the teleporting animation for the player ( as it will not play ) but that's not a big deal
anyone knows if blacklisting this mesh name to LethalSponge will fix it? and what's the name of the mesh?
hmm, let me check warehouse interior
and also some sad thing, I lost that progress due to formatting windows
unfortunate
i was testing something and noticed my profiler having a lot of calls from EnemyAICollisionDetect.OnTriggerStay, assumingly from enemies colliding with eachother (i'd spawned 100+ enemies in a very small space together so it makes sense), so i was wondering if i could add the enemy layer to the exclude list on the collider with certain conditions and whether it'd screw anything
you probably should have debug what kind of collider it triggers,
but adding to exclude layers will use priority instead, so with higher priority collider will check for trigger message invoke
https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Collider-layerOverridePriority.html
interesting
i dont think i actually need to use priority here according to rule 2 which would be that only A or B is using an include or exclude of the layer and not both, if i understood it right anyway
yep
neat, means i can exclude enemy layer if they're not meant to receive enemy trigger callbacks themselves (which is already a bool by zeekerss)
@polar willow
How do you rate my new loading image
Requesting the image please & ty 
this is so good
unfortunately i might not be able to use it for my pack, since rn everyone is voting for the goku one instead 💔
how do you make everyone share the same loading image?? i can't seem to make my group to have the same one
Well, its a clientside mod, so everyone would need the mod with the same image in the same folder setup
they have to manually put it there then, right?
If you are manually putting in the image in your folder, exporting a code of the profile is just linking them to the original mod download, which doesn't include your custom image
You'd need to upload your own mod with that custom image in it
Thats quite easy to do though
theres a problem with caltprime by tolian and lethalperformance being used together
the main entrance location is randomized on caltprime every time you land there
and lethalperformance's entrance stuff doesnt know how to handle the coordinates changing
you can enter main but you cant leave, and it says the entrance is blocked upon trying
technically this is something that should be reported to tolian and not here
but the thing is, i dont really know how tolian would fix it besides just removing the gimmick
i know no other moon that does something like this
even cosmocos doesnt, it just changes the paths to the entrances and not their locations
It was reported to tolian already
But I don't know if he said he was gonna fix it
I don't seem to have a problem on it but I have entrance teleport caching disabled
I'm really love when game devs are minimizing gc allocations 🥹
how come overusing physicMaterial.name is bad?
creating new string each time you call that property
because unity under the hood works in utf8 while c# in utf16
huh
why didn't you share the whole error lol
secwet :3
It's not related to my mods at all
don't worry I can fix that ez
I’m having an error. Can you fix that too?
\_\
/_/
I gotchu
I only saw a warning with lethal performance
this update is more an issue for more involved bug fix projects like butteryfixes
something something transpiler i think
even major content mods arent really heavily effected as far as i can tell
give me a minute
yeah
maybe something will mess them up a lot though idk
welp ill look into fixing harmony patch later today
Yeah I also repro this
yep, the only thing that broke is not replacing finding to cached value in code
everything else works fine
that's good
any reason why one person's game might be getting stuck on this?
[23:06:55.1225471] [Debug :BepInExFasterLoadAssetBundlesPatcher] Queued recompress of "poltergeist" assetbundle
my friend has been unable to load the game when poltergeist has been installed for a while now, and they just did a test with debug logs turned on, and got this.
im wondering if its either, something up with the poltergeist bundle (as it started occuring after they added a lot of audio files i think), or perhaps my friend is out of space or needs to clear some folder? perhaps corrupt data somewhere?
as soon as poltergeist is removed, they have no issues, and no one else in my group has issues, so scratching my head as to what might be up XD
full log is here, but thats the last message
this is before v70 btw.
nevermind, the dll they were supposed to test with wasnt used, now it has, shows its not getting stuck where i thought. apologies, nothing to do with your mod 😄
[1.1.6] 2025-06-02
Fixed
- Harmony patch failure warning.
zeekerss fixed the performance issues with moons that have no contour map (march, titan, and embrion)
but still left a roundmanager.findmainentranceposition that runs every 0.4-2s when observing players on the radar
🥲
good thing we have 3 different mods ( of various level of focus ) that improve that function performance 😂 😅
I'm also planning on patching that in PathfindingLagFix so that it runs async at some point
not sure when
not the finding main entrance, but the path calculation and updating
just for your information
i patched the call in ManualCameraRenderer.SetLineToExitFromRadarTarget to RoundManager.FindMainEntrancePosition in butteryfixes
i routed it to a custom function so it can reference a cached main entrance position + so it points to the bottom of the elevator if the target is in the mineshafts
i left the rest of that function alone though
oh yeah mineshaft is an interesting case
so hopefully that should be ok
that's a bit of a pain actually
I would have probably prefix canceled it if it weren't for that
but maybe I will have to think of a diff solution
lol yeah
i thought about prefix canceling but this is one of those cases where the exact thing i want to patch is already split into a separate function call
so it's really easy to just find and replace that one specific thing
yeah
tricky part is I'll have to finish reverse engineering NavMeshPath if I want to make it into a transpiler
if you want to implement the mineshaft thing yourself in pathfindinglib it was really easy, i just dont know how open you are to having such hyper-specialized code in a general use library
i just reused the mineshaft start tile bounds calculation from maskfixes
it could be an option in PathfindingLagFix, but I think I wokuld rather not do that
oh, for finding the bottom of the elevator? why not just use the call button position?
it's accessible on navmesh
has to be
and check mapCamera.position - (0, 3.75f, 0f) in that bounds, and substitute main entrance position for RoundManager.Instance.currentMineshaftElevator.elevatorBottomPoint.position if you arent in it
ya
oh I see
I misunderstood
personally I wouldn't have bothered to let it map a path in the starting room lol
at that point you should be able to see the door always
merhaps
the renderer is always active when you're inside the building and it seemed the most like "what zeekerss would have done" if he acounted for this
i didnt try what happens if you just have the path always calculate to bottom of elevator even in the starting room, but my guess is it'll look a bit wonky
I think it would just keep the previous path based on the code
it doesn't try to update corners if the path is invalid
chances are it's specifically set up to keep the old path so that if you jump you don't have the line disappear for a second
in that case you could just drop all the bounds stuff and just always point to the button position
and it would be basically just as functional
really I would rather use a transpiler anyway for maximum compat
PathfindingLagFix also patches FindMainEntrancePosition, so that should cost next to nothing
if (updateLineInterval > 0f)
{
updateLineInterval -= Time.deltaTime;
dottedLineOffset -= Time.deltaTime;
lineFromRadarTargetToExit.material.SetTextureOffset("_MainTex", new Vector2(dottedLineOffset, 0f));
if (setLineIntervalTo < 1f)
{
lineFromRadarTargetToExit.SetPosition(0, mapCamera.transform.position - Vector3.up * 2.5f);
}
return;
}
I'm really confused about the purpose of the setLineIntervalTo < 1 check here
i was grappling with that as well
this doesn't seem like it would cost any more for a long path vs a short one
im not sure why it's there
i just decided to leave it alone since i really only needed to patch that one vector3
yeah
but if you figure out a good reason why that's there, i'm curious
maybe the triangulation process for the line renderer costs more than I think
it would skip that if the path length is longer than 50 corners
yea
but really why not just make the line renderer cut off at 50 corners
it causes a noticeable delay in the line updating when you are deep into an interior
normally the first vertex follows your position basically perfectly
but once you get in deep, it only updates every 2 seconds (when the path as a whole is recalculated)
it's only a minor gripe so if it exists for some genuine performance reason, that's totally fine
but it seems weird
and my gut intuition is it's probably not necessary in the grand scheme
yeah, I might look at making some patches to update it more often and see what it does to a frame graph
dottedLineOffset is also weird
im not sure if it's actually making a visual difference on the monitor
the line looks basically static to me
I would've assumed that is to make the lines shift towards the main entrance, but yeah, I haven't noticed it doing anything either
@polar willow
#1220894679718035486 message
hmm, can you send moddata files here?
I'm having this error when loading into the main menu and max told me that it might be this mod causing it.
with key uk.1a3.lobbyimprovements.LobbyImprovements.PluginLoader.lanPlayerName
that's very weird
I did not find a .modfile that was from lethal performance
I only found ones for lcmodsaves
can you screenshot files
both me ( EntranceTeleportOptimizations ) and Diffoz ( Lethal Performance ) also speed up the entrance teleport function with caches 🤣 that's why i said there are 3 mods making that call as cheap as possible
yeah thats not lethal performance
I already deleted that and it regenerated
oh wait it actually says that LCGeneralSaveData.moddata is borked
try to delete that file
ok
nope I'm still getting the issue
then send it here, i'll look
send what
that file
oh wait
hold on let me test something
nvm that fixed it, I was getting another error that looked the same
I only got this error once on modpack startup after updating game to V72 and I can't reproduce it no more, not sure if it's something I should report as I don't get it anymore
[11:42:55.1414027] [Info :LethalLevelLoader] embrionscene.lethalbundle Unloaded (7,94s)
[11:42:55.1425180] [Error :LethalPerformance.Patcher] System.NullReferenceException: Object reference not set to an instance of an object
at LethalPerformance.Patcher.Utilities.ConfigSaverTask.SaveAsync (System.Collections.Generic.Queue`1[T] queue) [0x00011] in /_/Utilities/ConfigSaverTask.cs:68
at LethalPerformance.Patcher.Helpers.AsyncHelper+<>c__DisplayClass1_0`1[T].<Schedule>b__0 () [0x00014] in /_/Helpers/AsyncHelper.cs:28
[11:42:55.1481007] [Info :LethalLevelLoader] experimentationscene.lethalbundle Unloaded (7,95s)
I'm not sure what happened too
probably somehow some mod pushing invalid save for config file
https://thunderstore.io/c/lethal-company/p/XuXiaolan/SoftMaskKiller/
Does someone looked at softmask code and probably have some ideas why which some mod combinations it breaks?
I'll try to look into tomorrow and probably fix it in diffoz tweaks
The mods I saw it breaking were mostly hud mods
Except for enemy skin registry for some reason
I was assuming up to that point there was some hud code that needed to be included in recomps but I don't know now
iirc ESR is using custom menu in lethal config
so it could be the reason
Right I forgot abt that
But why does JLL + FixPluginTypes do it though?
I can not think of anything UI related JLL does, but I guess I don’t know it too in depth
also note it's (seemingly) load order dependent, so JLL + FixPluginTypes won't always break it, if you add in enough other mods to change the load order it will stop creating the errors
i looked a tiny bit, for some reason the materials field being used on OnEnable is turning null even though it gets made in the constructor, no idea why
Constructor? What code is relevant
lemme check dnspy rq
iirc it would error on this_materials.ApplyAll();
which i assume gets created in the constructor
@polar willow Maybe you got ideas here on why it goes null
looks like constructor is failing
and it is failing due to reflection thing in MaterialReplacer
I just patched it to return empty types and I don't get any exceptions
[Info : Console] RIP
[Info : Console] System.IO.FileNotFoundException: Could not load file or assembly 'UnityEditor.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
File name: 'UnityEditor.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
at (wrapper managed-to-native) System.MonoCustomAttrs.IsDefinedInternal(System.Reflection.ICustomAttributeProvider,System.Type)
at System.MonoCustomAttrs.IsDefined (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inherit) [0x00027] in <787acc3c9a4c471ba7d971300105af24>:0
at System.RuntimeType.IsDefined (System.Type attributeType, System.Boolean inherit) [0x00038] in <787acc3c9a4c471ba7d971300105af24>:0
at SoftMasking.MaterialReplacer.IsMaterialReplacerType (System.Type t) [0x0000b] in <41a02cf6c61946e3b3801b8d0274eb87>:0
at System.Linq.Enumerable+WhereSelectEnumerableIterator`2[TSource,TResult].MoveNext () [0x00037] in <dab7f68612224ba3ae40f651d44f9d4c>:0
at System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].ToList () [0x00030] in <dab7f68612224ba3ae40f651d44f9d4c>:0
at System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x0001f] in <dab7f68612224ba3ae40f651d44f9d4c>:0
at SoftMasking.MaterialReplacer.get_globalReplacers () [0x0000c] in <41a02cf6c61946e3b3801b8d0274eb87>:0
at SoftMasking.SoftMask..ctor () [0x0003c] in <41a02cf6c61946e3b3801b8d0274eb87>:0
yep as I expected
@vestal nimbus easy fix would be do patching of this
because we don't need global replacers at all
internal implementation would be enough, if some mod decided todo custom masking then they should message us
and player.log is actually print error native
but bepinex doesn't get it, that's why this exception was mysterious
Will include fix in diffoz tweaks tomorrow
hm actually..
1.5.0
- Add fix of softmask for mods that are using soft dependency resolving.
so softmask killer is not needed?
softmaskkiller can be still included as it only does is try/catching exception
but if you don't want that mod included, then you can remove it as is
Looks like it got rejected
rip
Yeah hopefully you can report it and get it quickly resolved lol
probably thunderstore check got updated and may now not like my patches and/or windows api calls
welp, I will just go to sleep, if some changes needed to approve then I will do them tomorrow
oh hey it is approved
thats cool, didnt realise it did that, though i hate how its formatted sometimes
@polar willow is there any way to check what bundle it was?
[Warning:BepInExFasterLoadAssetBundlesPatcher] Deleted 1 unknown bundles. Metadata file got corrupted?
nope
@polar willow is this mod needed for the softmask fix because jll updated and said they removed the issue?
it still may throw exception with soft dependency mods
Yeah EnemySkinRegistry still causes it and it's unknown as to why but Jacob fixed what caused it in JLL
ESR doesn't log any reflection errors or anything to easily figure out why it does it
Does anyone know how to use this mod to disable lethal settings?
I tried putting "com.willis.lc.lethalsettings" in the config for disabling mods, but it did not work.
make sure that you're also deleted bepinex cache folder
where is that
in the profile directory
yeah. just delete that folder
if someone downloads the mods and a config when they launch do they have to delete the cache folder?
no
when you install new modpack it doesn't have precached data
@polar willow what program do you use to bypass blocking of YouTube, Discord and other things? Some sites have been taking a long time to open since about yesterday and some other things don't work for me
zapret is currently the best bypass because it support udp and port filters
some fork or main repo?
from bol-van, right?
make sure that you're also using DoH
doh?
dns over https
oh
Well, the problem is not really in the browser
its just one mod that i use for tts
it sends GET requests to stream elements api but receives nothing as far as i understand
but when I use the same link in the browser everything works fine
[Error :LethalPerformance.Patcher] System.NullReferenceException: Object reference not set to an instance of an object
at LethalPerformance.Patcher.Utilities.ConfigSaverTask.SaveAsync (System.Collections.Generic.Queue`1[T] queue) [0x00011] in /_/Utilities/ConfigSaverTask.cs:68
at LethalPerformance.Patcher.Helpers.AsyncHelper+<>c__DisplayClass1_0`1[T].<Schedule>b__0 () [0x00014] in /_/Helpers/AsyncHelper.cs:28
Never seen this before until now, the only change was adding MonoDetour, maybe just a red herring?
I saw this one time when launching 2 sessions of the game to do lan testing
And a reboot fixed it
doesnt kill anything though afaik right?
it should not kill anything, but still may have chance that you may will be teleported to the limbo
I love cloudflare to be blocked mmm
What got changed in 1.1.7?
me
this 👍
probably today new release
Nice ^^
What does ignoring the space check do
just forces decompress even if free space is less than 10 gb
that's made for Wine users, because it report wrong free space sometimes
(still no clue why)
I did notice this warning a while ago when booting the game but I assumed it was just a linux/wine problem, I'm still getting it tho. Should I just not worry about this?
report to the developer
just came out thought youd wann see it https://thunderstore.io/c/lethal-company/p/Skeletonek/BepInEx_FLABP_Fork/
👍
oh it works on linux
just hdrp doesn't happy about opengl, but I can just ignore that
yippie
@honest oxide
sandworm is also laggy due to natural selection
i'll have to ask about that
i imagine that's because it searches for enemy instances instead of just players with that mod
@ancient igloo
@digital bane letting u know abt this
from stacktrace it looks like it calls multiple LOS
0197b9db-323a-2deb-e39d-89e1476da4b5 Curious if my pack might have anything unoptimized going on since it's been a while since you profiled it, it runs pretty smooth nowadays but idk if I've added or removed anything that might cause problems lol
I never knew about the worm in Natural Selection for example
i wonder if thats what is sending all these unity logs that seem like LOS announcements
for man stalker
I could but profiling on Linux a game that runs behind wine is problematic
GC allocs that I track is now causing a big lag, so it really hard to find the mod causing lag spikes without knowning gc stacktrace
probably will move to windows when profiling
Yeah running Windows in a VM for that might be a good idea
uhh that probably would be bad
lc can eat your memory and left linux nothing
I have dual boot, so no need to VM
(I am not that crazy to only use linux lol)
Oh true
I would expect a different patches to cause trouble but that one is neither working with enemy list nor looking for enemies in LOS and NetworkSandwormBehaviorState is done via LethalNetwork API
LOS was for man stalker
and LNAPI is causing lags because it searches for guid of your mod
each time when sending some data(?)
LethalNetworkAPI being dirty ☠️
there is probably a way to cache it
I was using a networked variable and in that patch I was setting it to zero
I exported a code directly, why is it locked?
lol
That usually should only happen if using the synced code
weird
probably because I set to override profile
Possible yeah
I am really hoping I wont have to replace LethalNetwork
It's possible LethalNetworkAPI could just use an update
I'll try to avoid network variables
looks like you can call Connect and cache it yourself?
Ayy ! Thanks for the notice
Unfortunately someone already told me about the performance drop of the mod,
I wish I could do something about it but I do not have the required know-how to fix this. I've also moved on to other projects, and none of them are unity-related. It's going to be too much of a distraction to fix it for me
Sorry about that 😕
so LNAPI would not call method to get your guid
I'll look into it. I'll probably figure out singletons or just switch to local variables updated by network calls
I see that you're using LOS multiple times, so you probably need to use this library https://thunderstore.io/c/lethal-company/p/Zaggy1024/PathfindingLib/ to move all path calculation to other threads
PathfindingLib will be goated for Natural Selection actually
(I think)
Doesnt it already modify vanilla methods to use it?
that pathfindinglagfix do
eh not really
If that's the problem then I could probably tinker a bit to reduce the amount of call to compute the LOS, but can't guarantee I'll do anything about it at all. But thanks for the tip !
Currently away from my computer for nearly 2 months
Ah I wasn't really sure of any other libs that might help optimize stuff
very cachable btw
@honest oxide there is also fair ai that does string manipulation every frame that could lead gc running frequently
.GetType is fast
Can give you some feedback and tips tomorrow if you don’t mind
Btw you’d really probably be better off just doing the networking directly and adding a networkbehaviour component to these prefabs
gotcha, idk if the newest version doesn't do that but i'm on an older version because of issues with quicksand interactions. dev won't be working on it for a while but i can def ask if its possible to do the string manip only on spawn or something
Idk why fairai does that reflection for the turret call
Think the publiciser just solves that?
Seems like there’s a ton of unnecessary reflection
Reflection my beloathed 
It can be good when used properly but I remember when a few mods like GI also used to use it a ton unnecessarily
im sorry i dont understand the terminology youre using, but i can forward to fairai dev if its important for them
I know Shaosil swapped to Publiciser btw Batby so it's possible FairAI may be able to do the same
for very simple use cases you can definitely just swap reflection for publicized assembly references
that looks like seamine
Yeah I told Wawa it was seamines, I saw it log anytime I came across them
Would be something for @twin void or @vestal nimbus to fix, idk which one of them handles the mod's logging and gc alloc lol
do Berthas also log it?
I think Spike Traps also log LOS sometimes too, if they're player activated ones
ah
this would be it, wouldn't it
yeahh
also what is happening
Ghost Girl out of bounds?
girl is not on navmesh -> killing it -> repeat
☠️
Yeah
she doesn't properly die
she just keeps respawning if killed
Whatever moon/interior this is happening on the dev should probably be informed
I do think it's interesting that the Girl is the only immortal enemy that does this if killed
Also @dull quarry I understand the thumbs down, just generally used to this being moon or interior related but I know I've seen enemies that can teleport just go out of bounds naturally on their own too, I've seen it when playing with Slenderman before lmao not sure why they do it tbf
They usually fix themselves quickly, in this case it seems the girl got stuck
She may have potentially went invisible off of the navmesh tbh after showing up
yeahh
Yeah I'm not sure why it happens cus I've only seen it happen one time I would assume maybe the Brain gets spawned out of bounds or something
I did inform Moroxide and Lega though
Created New Day History Log! PlanetName: Cosmocos ,Raven Manor ,Quota: 0 , Day: 1 , Weather: Eclipsed
Ah yeah this makes more sense
She might have stood above one of the death pits or something
lol
I know Wesley is already remaking Cosmocos to be Seed based for his V70 update
Cus of the one layout you can get that just doesn't spawn for clients
There is also lag spike when masked is getting killed to drop mask
from science bird tweaks
Yeah I noticed that, it's not quite as bad as the lag spikes that SellBodiesFixed gave but yeah I think it's cus of how it swaps the prefab out to be grabbable
@zinc glade Dunno if the lag spikes could be fixed at all, maybe it's worth looking into?
didnt notice that in my testing, good to know. I really should get some mods set up to run in editor so I can do detailed testing like this
Yeah it's usually a small one when the mask changes to be grabbable
I never considered it much of an issue
I was used to much larger lag spikes when using SellBodies
XD
Got no clue what you are talking about with Publiciser and where would I find it?
@polar willow
this two lines right here:
from LobbyControl csproj
if you publicize the assembly all methods/fields/properties ecc.. will be marked as public and can be used directly w/o needing reflection
Did you figure out how to fix the problem with the Vanilla Game cancelling out your Join Queue kicking players if they time out btw?
I just ended up turning off Join Queue after I ran testing and discovered it will always void players if they time out
lol
oh are they? never noticed
So now I am a bit confused. Do I use the method described or is there a different one?
just by switching from local to nuget references you will able to use private methods without reflection
just use the gamelibs instead of Assembly-CSharp
So is there just something called like lethal company gamelibs on nuget?
yeah
it's in the BepInEx repository but if you are already making mods you probably are already using the right repository
it's not
bepinex repo only manages il2cpp gamelibs
uh?
My only dependency is bepinex so I have never gone out of my way to find other dependencies or libraries
<PackageReference Include="LethalCompany.GameLibs.Steam" Version="55.0.0-beta.0-ngd.0" PrivateAssets="all" />
Here
welp i stand corrected again
just don't forget to change version
yeah v55 was a bit ago
Oh and also don't forget to add this under PropertyGroup
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
or mono would throw exception about security
uh? i do not have that and it's completlely fine 🤔 is it because i have the Publicizer referenced too 🤔x2
yep
publicizer sets it automatically
Oh gotcha thanks I was looking at nuget library stuff '
So much to read...
Ikr...
if you want latest version, use *-* as version string
from my understanding is this like a version of FLABP to work better on linux?
I assume so haha
I dont have linux but thought id just inform him it existed
it fixes an issue with Wine not reporting the correct amount of space available
it's not fix, it's hack
how much of a difference would that make
allows it to work on wine
it's hack because it just disables of ignoring decompress request even on low free drive space
yes it will
I’m assuming if your storage is almost full it could cause problems
note: Gamelibs only publicizes Assembly-CSharp. i still need to publicize it if i want to access unity fields 🙃 ( eg: NetworkManager )
why do you need to publicise networkmanager
to patch RPCs the proper way w/o reflection
and w/o transpliers
ah fair
hmm, anyone on linux with problem with BFLAP can reply to this message?
so I could send debug version with some logs
and with applied fix
I think that problem happens when
- Using immutable system image (e.g. SteamOS)
- Your linux split "root" (/) and "home" (/home/) to separate partitions, and c# by default check free space in root directory
hello
the issue that i have is the one where the mod thinks that there is less than 10gb of space left on the disk despite that not being true
i think it's more of a proton/wine issue not really a bug with your mod
I'm having the same issue as the person above and neither of these two things are true for me.
@flat flare @simple panther I have published preview update v0.0.100, please check it on small profile (bflap + morecompany) and send log here
Not sure how long it will take to index new update, let's hope that it will be quick
Where were u wen bflap kil
Seems to be working from what i can tell by looking at the logs
hmm, what if I split windows api into another package
so I could easily update bflap
@burnt monolith what your opinion on this, that windows api are on separate package? So bflap (and diffoz tweaks) doesn't trigger antimalware
hm, actually I found another way to get free space
just by calling internal method in mono

yey
I was gonna tell ya, if you couldn't find an easy way that makes it just sorta work on wine then you should probably give up on disk size on linux. The average windows user brain probably can't comprehend this but you guys might have 1 or 2 drives and all your documents and program folders on the same drive but like out of the box, every linux user is going to have their root / and /home drive on different partitions and that's just the beginning of trying to understand "drives". I enumerated my drives using DriveInfo.GetDrives and I think I had 18 of them before I hit a System.Unauthorized exception for trying to access one my user didn't have permission to enumerate
I looked into the quirks of DriveInfo on linux and its just not made to work there. There is no reasonable way to figure out what partition a file or path belongs to without enumerating like ftab or proc/mount tabs, etc and seeing which one fits best. its kind of a fools errand without using a native PInvoke to just ask the OS which drive it belongs to and at that point you're going to need to figure out you're in wine and then break out to ask the OS questions about it, so glad you found a better way
MS did a pretty admirable job making Dotnet portable but like DriveInfo is not where its at, ahaha
@zinc glade @molten light Ok, I have looked at crash that happens with Victory and Solitude and probably found the workaround to fix that.
By overriding CustomPassVolume.Cull to not call anything resolves crash. In that method it calls Cull on the same context, that may cause the crash.
For history, crash was happening in SendShadowCullingCallbacks
I can push update for diffoz tweaks to check, if disabling culling for custom pass volume fixes crashes
ping me if someone want to check
if i need to just load into solitude/victory and walk around a little bit then sure
@polar willow
I'm already walking around solitude and don't get crashes
if im bored and wanna play the game again and walk around a random non specific moon and i hit the lottery on solitude/victory and i need to walk around to redeem the lottery then sure
@polar willow
oh wait i misread how fumo said it
smh my head
hmm
probably found another way to fix it
argh
well, time to git blame hdrp code
Fixed a culling result sharing issue between custom passes and the camera rendering them.
Found this in changelog of hdrp 14.0.9
LC is using 14.0.8
so now I need to find that change in the git history
It's also funny how it took until now for mod devs to expose this bug with HDRP ☠️
To give credit where credit is granted it's stable 99.9% of the time
why is it specifically those 2 moons that cause this problem anyway
Probably the only 2 moons touching the specific things needed to instantiate it
after trying out a lot of stuff I think the problem is inside of engine, not hdrp
So it's a bug with the build of Unity that Lethal is running on? Why does Sponge's shader work around that? 🤔
because it's probably doesn't use custompassvolume
or sets culling mask to 0, so it reuse the main culling
@rose stirrup @scarlet geyser 
Still curious why only these 2 moons trigger this oversight with the build of Unity Lethal is on
because they use terrain and not converting it to the mesh
So do Wesley's and Generic's, s1ckboy's current moons do as well
Super interesting
I know s1ckboy is converting his to mesh for his update though
The main difference I notice is these moons were built on V70 and not TerraMeshed, so I almost wonder if it's related to the recent updates 🤔 only thing is the Unity version hasn't changed so I'm just confused
Lmao
Bozo's not terrameshed 
I've seen the error before actually, people had found workarounds but they weren't 100% on what actually helped iirc
true
unless it was related to the instancing of terrain, but I have a feeling I was misremembering that part
the terrain is instanced on them
so it's why Autumnis and Beanie have been confused
I know the error had happened on Budapest, but other than that I forget where I'd seen it
it was a recurring one
gotcha
Yeah Tolian's in general have had this off and on
usually it is due to terrain not being instanced
Perhap
that is curious
the instancing was the cpu being overwelmed iirc
something vaguely related to shader warmups too maybe?
instancing isn't actually explicitly required its just when you use a terrain (espicially with details like trees?) of a certain size it just kills unity
so most lc maps do need it
Yeah in some cases even Interiors benefit from it, I know Nikki had to enable it for Slaughterhouse to help improve the performance with that interior and even in some cases it can still be laggy on certain moons
I wouldnt turn on GPU Instancing for my terrains
Weird, usually you need to instance the Terrains
Although idk if it's needed with Terra Meshing
I would assume it still is
Draw Instance on unity terrain and terrameshed or well meshified terrains in general having a layered material (in which you can add up to 4 layers usually but voxx's shader creates 2 splatmaps and lets you have up to 8 layers so to match the amount possible with unity terrain) I dont exactly know the reason why we need to draw instance our moons for simple unity terrains other than avoiding hard crashes but for meshified terrains you dont need to do that
Okay then yeah, you don't need to if you have it Terra Meshed
Victory and Solitude aren't Terra Meshed
Bozo isn't either
I thought they are 😮

Nope lol
well not Bozo
Victory I know for sure isn't since Autumnis recommends the Sponge shader
to add the vanilla posterization like stuff to it
So they are unity terrains that crash? Then I'll be a-ok 
@scarlet geyser Probably can just do an update for Solitude that Terra Meshes it's terrain probably
Interesting
We all have occlusion on our playable zones tho?
Ye
who is dev of victory and solitude?
Autumnis is the dev of Victory, Beanie is the dev of Solitude
@scarlet geyser remember when we crashed on solitude after a bit one by one? this is probably why, ig it wasnt that u forgor the instanced option thing
you can easily crash on solitude if you go to fire exit before ship is landed
near oil pump you will get crash
yep thats what happened lol
hm, can be reason of crash is due to using trees/details in terrain?
because those two moons uses them
In that case test Starlancer’s moon I forgot its name but theres one with a buuuunch of details painted onto the terrain
Nikki’s Sorrow on the other hand used the same method but is terrameshed as of now
Btw I sent you a pic in dms about custom passes, I dont think it would help you but still sent it since at the time I thought its related to that cuz of your previous comment
bro doesnt want the rest of us to know about custom passes 😔
Military secret
discord send your message to message request, so I didn't saw that.
Sadly, what I'm thinking is that changing injection point will not help with preventing crashes
also, I just tried starlancer moon and universal radar just ignore it?
All good, I have that “protection” too
like it's in blacklist or something
Lol
Yeah I thought so too but it was worth a shot
@near yacht if you're about solace, then it's uses mesh
Oh it does 😮
Nvm then
Idk other mooners who uses unity’s terrain details / tree painter then
i hate using terramesh 
is there any other way to fix it? Whats the core issue so i can fix it in the future
cus i dont wanna have to terramesh all my stuff
and also, why is this not impacting old moons that are set up identically?
personally ive never had it crash
only other people have reported it
it's only happening with universal radar
huhh
wait so its not even the moon that’s necessarily the issue its an incompatibility with a mod?
Terramesh is great tho but I get what you mean
didnt we literally crash like a few days ago
i didnt crash
other people did
Sounds like a skill issue ngl 
host crashed before u could lol


i probably should terramesh the terrain but all the times ive done it something has gone wrong
ig ill do it
you can also try to not cast shadows by terrain details
I thought terrain details dont cast shadows to begin with lol
I see (also Beanie dont mistake it for generic shadow casting, your terrain still needs to cast shadows, just details dont need em)
0197eabf-ad36-1934-724f-ee331529f9d6
here small modpack to repro crash
not true
this is not a UR thing, like I said
it can happen with just the moon + dependencies
for me it's only happen with UR ¯_(ツ)_/¯
I'm guessing is that after terra mesh, game can crash
hmm, actually
victory dies without UR, but not solitude
how do i turn that off, is it just a setting?
on detail prefab under mesh renderer set cast shadow to off
Untrue, Monty had the crash with Universal Radar off
It's just Solitude's is more inconsistent
what the fuck you can just open up my moon???? that's something you can do???????
asset bundle ripper ig