#Lethal Performance & DiFFoZ Tweaks & BepInEx Faster Load AssetBundles Patcher
1 messages Β· Page 6 of 1
i feel like i remember there being more instances of this though
like when the player's holding items I think they just have their position and rotation updated every frame
etc
If that came off the wrong way it definitely didn't intend to but by your response you sounded annoyed, I just knew if LethalPerformance was saying something it was one of those occasions where the method was more expensive than it needed to be
uuh
in GrabbableObject.LateUpdate()
they aren't reparented unless they are dropped in a PlayerPhysicsRegion (cruiser or elevator)
or placed on a shelf
IIRC that is it
there's a lot more meat here than i thought and it would actually require some pretty major refactoring
it sets a rotation, then calls Rotate() with an offset, then sets position, then adds to position with another offset multiplied by the rotation
im not actually sure how notable the performance boost of this function would be, especially with that much math going on anyway
Apologies @lone depot If I upset or offended you at all, I obviously really love your mod a lot and all the QOL stuff it adds for the cruiser so I obviously wanna see things that could cause some performance issues and stuff resolved cus I don't have the heart to ever remove your mod lol. Also I apologize for that time I thought it was your mod when we had the magnet desyncs and stuff that one day I have no idea what was responsible for that cus we never reprod it but I would imagine it was High Quota Fixes since the stuff it does is sorta hacky, I've since pulled that mod since it did more harm than good in the end
I can try to profile and see the total overhead
if it's big, I may look into
thank you for your apology, i appreciate it
yw
what on earth
Lmao tf
Since you're looking into R.E.P.O. I wonder if somehow Lethal could use the Photon voice system that it uses, cus the voice clarity is way better compared to the default Unity Dissonance system that Lethal is using
Would be a great alternative option for LethalPerformance if possible cus I think Photon is also much more optimized
and I know it would be able to be tested in Lan and stuff too, unlike Steam's Voice API
I can make debug config option to load steam library in LAN
Ooh
This would be right, it was very very annoying to deal with this last night π₯²
I thought it was cus we have all these mods like Dissonance Voice Setting and stuff to tweak stuff and it always throws Dissonance errors on lobby close lol
Of wait I see what you mean
It's just not Unity's default voice system
y e s
Kinda surprised Zeekerss went with Dissonance instead of Photon though, after hearing how nice Photon is the game would greatly benefit from it lol
well
LC uses Netcode, Photon is a completely different networking solution
so it's not a plug-and-play switch
since it would require redoing the entire game
if i understand it correctly from a quick google search
Ah understandable
That's along the lines of what I was thinking
When I saw the suggestion to replace dissonance with photon I was kinda thinking "wouldn't you have to rework literally everything that's networked for dissonance then" at the minimum
Cus from what I remember photon has its own networking suite that's different from Netcode
It would be way too involved for a minor qol improvement
also photon is yucky
for UX or DX?
hm, looks like I found another reason why Steam Audio was removed
Interesting
Photon is a networking api
Dissonance is something else entirely; the game uses netcode for gameobjects
iirc
you will just to have to make 3rd tool to send packets through unity networking
i could never get that to work for one specific person in my lobby
they wouldnt be able to speak
was weird
you mean my experiment option in the config? It's still there, but no progress to make it better was made yet
The one time I tried it it caused a lot of oddities with how people sounded, also it's painful to maintain a mod pack and tell everyone to adjust their settings through Steam
I see the potential though
unacronym yourself
well you've played any Valve competitive game, your microphone should've been setup
and more devs are starting using steam voice
True
user experience vs developer experience
yes
photon networking is weird, and it also makes you differentiate between singleplayer and multiplayer explicitly afaik, and i've had friends that used photon's matchmaking stuff which is very bad (costs money for the most part and yeah lol)
help my game crashes on start if i dont run Faster Load AssetBundles
is there something left over i need to remove?
I don't see anything suspicious. not sure why it is crashing
i was doing some cleanup and it did run up until i added moon/interior related mods
these ones to be clear
adding the AssetBundler mod was not enough, however deleting the cache folder made me able to not crash on start
found docs of Photon Voice, and they are using by default Microphone API by Unity
but repo may switched to use the native audio capture
Yeah very possible
Issue caused by this line
https://github.com/DiFFoZ/LethalPerformance/blob/main/LethalPerformance%2FEasySave3%2FES3Utilities.cs#L42
Because it is reading the default es3 save location trying to find the saves but its empty cuz perprofilesaves changes it.
Now that i look at it might be a problem with my mod.
I through I really didn't want to check if the path is absolute, but I guess i need to
I mean it sounds like Friendly Fish is saying it's better for them to fix this on their end tbh
it's more on my end
because my mod is always expect the file name to be in default path
Well im not gonna be able to update my mod soon + i think i can fix it assuming i could easily change the value of ES3.Location.File
And thats a big assumption
If you can fix it it would be better since it could fix compatability with other mods in the future
Do we know if the Pre-Release changes are stable enough that a version bump can be pushed to integrate this fix? 
As far as I'm aware the only issue was the soft locking of progression if a client left which you fixed
I've played with pre-release yesterday and no issues are found, so I guess yea
I dont think that alone fixes it, the error is happening in LoadRawBytes i might be wrong
it's because it found general save in default location, but then LoadRawBytes is called it uses fullpath and finds nothing
I have 2 different logic if file exists or not, my check was by looking at default directory for the file, and if save file found it process further calling LoadRaw, so ES3 will use FullPath to find the file in the location provided by your mod, and it fails, because it doesn't exists
I partially understood but its okay, you seem confident that it works. Anyway its your mod.
[1.0.0] 2025-03-10
Added
- Caching of VehicleController, PlayerVoiceIngameSettings objects.
- Check for optimization to prevent vehicle to search dropship after delivery.
Changed
- Make rendering sampler to be included in release build, so dev can use it.
Fixed
- UnityExplorer may break caching system.
- PerProfileSaves mod incompatibility.
1.0.0 release with almost 1 million total downloads, thank you everyone. Probably for now on I'll be making less changes to the mods, but still will be around the community here.
@polar willow The new update seems to break keybindings for BetterVehicleControls, if I revert to 0.6.0 I can use the scroll wheel to move the shifter and use X to magnet the cruiser but with 1.0.0 I can't
Not sure why it's breaking it, I remember it being fine when testing 0.0.110 as well
i was able to confirm this in a profile with exclusively lethalperformance and bettervehiclecontrols, and their dependencies
lol every time you use those keybinds it does Object.FindObjectsByType<VehicleController>()
Oh so it's something 1A3 needs to fix probably
@karmic crypt you think you can release a patch for BetterVehicleControls?
Yeah Buttery explained why, it's cus BetterVehicleControls makes use of an expensive method that LethalPerformance is caching
everytime you use the keybinds apparently
so it's not really the fault of LethalPerformance here
if LethalPerformance is caching it then it'd still work fine?
LethalPerformance is caching the VehicleController stuff so idk
I couldn't get any errors in a log so maybe you can check why it's breaking
no
it only does that if the cached value is null or you arent driving the cached vehicle
Ah hmmmm
oh yeah
i just took a glance to see what was happening under the hood
but i was looking at the decomp and missed this part
my bad!
Okay so yeah it's something that needs fixed on LethalPerformance's end then probably
its cuz LethalPerformance doesnt return the vehiclecontroller
since RoundManager.Instance.VehiclesContainer contains vehicle physics stuff but not the vehiclecontroller
Ah
@polar willow Any solutions in mind for the BetterVehicleControls stuff?
just saw 1.0.1, what was the changelog?
yeah
Btw I did end up setting Dissonance to High Quality with DissonanceVoiceSettings and it helped quite a bit, after the server issues R.E.P.O. has been experiencing I'll admit I'm glad Lethal doesn't use Photon Photon seems to be a bit of a problem child π
yeah, Photon is quite a problem for modding the game
Yeah 
Ah I just came in to mention 1.0.0 also seems to bug out mels RV cruiser and cruiserterminal. The first one you buy (if if you have one loaded) is fine, but after that it those mods don't load and you get a vanilla(ish) cruiser
notably vanilla(ish) bc cruiserimproved changes seem to still be there
But I assume if the vehicle caching is removed it should be good now
bruh you're just removing that function? π€£
are the offsets the same between debug and release? i remember zaggy had to use two different ones for PathfindingLib π€
release doesn't call that method at all
only debug
gotta love arbitrary restrictions
what is that MethodOf call? does it auto-create the right delegate?
is just helper to not use reflection or SymbolExtensions
don't you need to pass the Action<> thing as a param for the delegate then 
only if method is generic
that is the original call even if you do not use it
i see, monomod allows to not have the delegate action param if you plan on fully replacing the function
@honest oxide you can try to use LP v0.0.120 to be able profile all mods, even they throw exception due to thread safety checks
with the other steps from your guide right?
yep
gotcha
pushing v0.0.121 to remove stacktrace lags
btw i forgot to ask what changed in 0.0.120?
Hi, just wanted to check cruiser caching thing. Do I understand correctly that OnDisable was never called if the cruiser was cached?
removed experimental steam voice api and make debugging for some mods easier
uuh, it's just problem that I've not expected, when networkobject spawned it removes original parent
so any vehicles are not cached properly
I've removed for now vehicle caching in v1.0.1
wdym original parent? like original instantiated prefab?
yeah, zeekerss passing vehicle container parent to the vehicle, but it gets removed on spawning
@polar willow Seeing this everytime I go to the ship
Is it cus of MagnetLock?
I don't have a Cruiser rn btw
this is because of no vehicle caching
I just wonder why BetterVehicleControls only broke after you fixed the dropship stuff, cus it was fine with 0.0.110 π€
i really love gale for this
apng icon?
the only 2 mods i know that actually use it are xumisctools and betterlightning
and some interior mod
yeah SDM
oh yeah
raph asked me how i did it and i just said apng lol
apng is kinda weird
most people would much rather just use gif
so being prompted to use apng is weird
nooo
and my silly cat apng is 7mb
what does diffoz tweaks do
am curious
it tweaks
Specifically, it tweaks diffoz
idk i get the vibe that it contains tweaks made by diffoz
lmfoa
currently no tweaks contains
only one feature, to flash taskbar icon when game waits user input of LAN or ONLINE
taskback icon?
Downloading day 1 for this alone
any othe rplanned tweaks?
Oh you mean taskbar
Like having it flash orange to notify you that the game's ready
Peak
yeah yeah
i lost my list of changes that I want π’
Unfortunate
tho even just making the taskbar flash when the game's done booting is genuinely fantastic qol even if it's small
yeah, because I just lost time procrastinating due to slow startup
i've opened github repo if someone needed
ugh, why bepin why
Cosmetic capping? π€
yeah π
you're telling me i cant just ruin everyone's performance for my own pleasure?
π
Seems useful lol
lol, my friend always get all cosmetics and my fps drops from 80 to 30
I remember I had someone that put on all cosmetics at once before and not only did it kill performance but it also broke their player model

LOL
i know a few cosmetics can be a bit heavy (one of them 91k according to a conversation in #1345089401100701778), so that's fun
oh 91k vertices*
One of the base MoreCompany ones at that right?
iunno, i was part of the conversation but i couldnt tell if i got a yes or no for that one
i think so though
yeah, iirc pikachu ears is like have 70k verts
Pikachu ears from FunnyCosmetics?
π€
I don't think it's that one lol
Oh wait I bet it's the one from ProjectSCP Hats
LMFAO
Prolly this one
slightly disgusting
soo proposal for you Diffoz. that me and zaggy came up with and i tested a bit in yesterdays Lunx stream:
https://gist.github.com/mattymatty97/99259ac7979b745cc12a3b040a14579d#file-entranceteleportpatches-cs
keep a list of the teleports so during async dungen the game does't cripple itself when doing FindObjectByType each frame for each teleport π
jeez
Yeah that would be the one from ProjectSCP Hats
Ooof
Lunxaras Addons update inc that yoinks that
I'm currently planning for moon references caching update, so maybe after that update I'll look into caching interior stuff
The cat ears in base mc yeah
@arctic ether Since we're on the topic of unoptimized cosmetics the sizes for the candy cane and cane antlers cosmetics are really large compared to all your other cosmetics, how many verts are they?
Might be an excuse for me to disable the base mc cosmetics then unless it's only the cat ears
hm, why client disconnect and rejoin after the frame
very strange
[10:10:19.2668710] [Info : Unity Log] Disconnect callback called
[10:10:19.2668710] [Info : Unity Log] Is server: False; ishost: False; isConnectedClient: False
[10:10:19.2703909] [Info : Unity Log] Local client connection denied; clientId: 0; reason:
[10:10:19.2703909] [Info :LethalPerformance] [Cache] DiFFoZ.Find.MenuManager
[10:10:19.2703909] [Warning:LethalPerformance] Failed to find cached MenuManager object
[10:10:19.2703909] [Info :LethalPerformance] [Cache] DiFFoZ.Find.MenuManager (all objects)
[10:10:19.2703909] [Warning:LethalPerformance] Failed to find cached MenuManager objects
[10:10:19.2703909] [Info : Unity Log] Displaying menu message
[10:10:19.2713895] [Info : Unity Log] Displaying menu message 3
[10:10:19.2713895] [Info : Unity Log] Displaying menu notification: Crew size mismatch! Their size: 12. Your size: 32
[10:10:19.2758966] [Info :MoreCompany] Unregistered Named Message Handlers
looks like is because of morecompany
probably due to lan, iirc morecompany uses steam tags to get crew size
Lol fun
oh yeah i noticed that too in Lunx pack.. it has caused weirdness in LobbyControl in the past but i was never able to understand what mod was causing it
Not many, if I remember
LAN and steam have different logic
Ah I know what you're referring to
For LAN it passes the client's player count in the connection data then if it doesn't match the host the connection is rejected with an error message
Then that error message is parsed to get the correct player count which i then update the client's value to and automatically reconnect
I couldn't work out any other way to pass the player count from the host to the client early enough so π€·ββοΈ
^ in-case u were interested as well @fallen ember
that is supposed to happen in LAN only no?
Yeah it does
because in lunx pack it happens online
Are you sure?
each client connects, disconnects and connects again
70%
it's been like 2 weeks since i analyzed that
Auto reconnect only happens if steam is disabled
So there's no reason I can see that morecompany would cause that in steam lobbies π€
.
on the topic of passing data to the client before the connection starts i too have not found a solution yet :/

hello!
Is the cosmetic limit option configurable?
yes
gotcha, thanks!
by default 15 is set
It's kinda funny how high the default is, makes me wonder how terrible the people you play with are
Hey! Seeing that some cosmetics are very unoptimized, in the same vein as limiting cosmetics, Is there a way to add maybe culling to cosmetics from players far away?
(I don't really know if it already does it, or if it is even possible to do it but maybe it helps a bit with performance?)
@polar willow if you can find what mod is causing the thing with clients in Online mode that Matty mentioned I will gladly pull it lol
you should get rid of bepinex, my inner self tells me its the cause
Lmao
literally everytime i see this cat i expecting this
π
note for myself:
[faster load] add patch for loadbundle via byte[]
there is a new wave of internet type banning in my region, and now all website behind cloudflare cdn are not working with my previous method of escaping that, currently only vpn works
so I may be not be here active that much
or it's cloudflare side problem? eh not sure
Whether or not itβs banning why would they keep League of Legends 
thunderstore doesn't work for me π
rip, now i need to always use vpn to get all mods
F
maybe i was lucky but i didn't notice anything except the long loading time of the discord site
this happened to me sometimes, but usually fixed itself after a couple of hours
and thunderstore/gale works fine for me rn
[Warning:LethalPerformance] Woah! Someone requests to search of all TimeOfDay objects, even if it's singleton
Is it bad that this spams while starting the game?
Its just another mod doing stupid stuff
since i auto generate my key and section based on itemName etc i gotta figure out a way to edit the key and section to remove invalid characters lol
this probably works
regex hell
π
whoops i missed the apostrophe lol
and i forgot the quotes seems π

if it's spam before hosting the game then probably ok
just mod tries wait for the object by searching the specific object that only exists in ship scene
bflap
[1.0.0] 2025-03-22
Added
- Patch for loading bundle via memory.
What does this do?
i think it was for the diversity mod?
yeah, it's for mods that are loading bundle to the memory instead of using stream or file path
oh cool
just tried it right now, it loads so much faster now
thanks a lot
(diversity in particular went from ~6 sec to 0.5 sec for me)
maybe someone needed, the list of mods taking time to load
with uncompressed bundles
currently moving unity debug stuff to diffoz tweaks, and now i realize that I need a patcher for diffoz tweaks to be able to patch unity stuff asap
sad patcher
π
is this huge chat?, i'm dumb
RuntimeDungeon?
What bug is this patching again? Also bc I think something else fixes this and I am curious if there'd be issues with them both trying to fix it
Ah ty, that's it's own thing then. I know something else patches a jacob/wesley thing and thought it might be the same patch.
Probably today will push experimental release for LP
experimentally break the game pls and ty
I just love that for some reason my Discord lags when I'm in this server but when tabbed into any of my others it's fine π
New UI really dislikes this server for some reason
Oh it wasn't just me then π
Noticed when searching for messages it'll get quite choppy
i think the new UI doesn't like the opt-in channels. i've just toggled the Show All Channels and immeditaly it feels smoother
Doesn't seem to help at all on my end
Helped for me actually, not sure if placebo though π
I also had Unity open actually, could've been computer struggling
It helps a little but not by much
scrolling is still laggy in this server
I think the new ui is just unoptimized dog
Electron sucks
Gotta report this bug on the discord mod thread, can't believe they'd release an update without testing smh π
I'm guessing they didn't optimize the forum post stuff, cus this is my only server with a lot of those
Surprisingly I worked with my Vtuber Models for hours in Unity and my pc just shrugged it off like it was nothing, although Unity 2020 is definitely slower to load than Unity 2022 lol
Yeah I just have a very outdated desktop π
Surprised it's still running at all, definitely slows down cooking process
lp
0.0.122
optimization and caching with entrance teleport stuff
vehicle caching is back
moon caching (ItemDropShip, RuntimeDungeon)
noice
0.0.123
fix NRE with PathfindingLagFix
Yippee
0.0.124
Fix for wait for dungeon to complete patch is ignored
Oh it wasn't? lol I thought it was cus I didn't have the lag that normally happens before the Cruiser is delivered
XD
xd
i probably should make only tag, instead of full release
i keep spamming my email
Did an update get retracted? TS says last updated 8 hours ago in some spots
experimental update
it's ver 0.0.124
no, I publish experimental releases to the same package, but with older version
so it doesnt show as newest
Oh that's clever! was baffled as to why Gale put it between things when sorted by last updated while saying 15 days ago, but that makes sense
oh I just saw this, it wasn't any issue on my side was it?
you just finding all entrance teleports on main menu
wait did I? what the
Β―_(γ)_/Β―
ah right I get the teleports on scene unload, hmm
I guess I could use the NetworkBehaviour.OnDestroy patch instead to avoid this but I think this is fine
just stress testing your solution 
Rip
What was breaking? lol
it's just me being silly and expecting every moons have the same setup of where dropship with dungeon generator is
0.0.125
- fixed moon components cannot be found on custom moons.
- vehicle caching is back (again).
- fixed entrance teleports on custom moons cannot be found.
Vehicle caching that doesn't conflict with better vehicle controls?
looks fine
The performance increase with the new experimental build is insane lol the game runs a shit ton smoother for me with it
my pc is dying with 2 lc lunx modpack in debug mode
Lol oof, disabling a handful of the interior and scrap mods should help since those are always loaded onto ram, I noticed my pack generally starts at around 6gb of ram but then eventually lowers from LLL hotloading to around 2-3gb
I'm still unsure what mod is causing masked bodies to not appear for clients btw, I thought it was Enhanced Monsters causing the desyncs but I also reprod it with SellBodiesFixed
Yes but I don't think it's supposed to cause the body to not appear for clients cus other enemies like Nutcrackers were also doing this
I might be wrong though
I prefer Enhanced Monsters though since SellBodiesFixed is just a large mod always loaded into ram
@fleet aspen is you made the no floppy mod? Can you make a patch to remove coroutine of waiting for floppy disk?

https://github.com/Science-Bird/ScienceBirdTweaks/blob/main/Patches/DiversityComputerBegone.cs Does the patch in ScienceBirdTweaks help with this scenario?
no
I figured as much
Sure, I'll add it today
good god
oh my goodness gracious me
trying to figure out what this is even trying to do and why it specifies a specific disc
This looks like it'd be one of the enemy-related ones based on the name alone
it doesnt matter what it's trying to do
it's basically doing FindObjectsOfType every frame
Oh
okay yeah that's understandable
I think you or someone else mentioned that was super heavy on performance
FindObjectOfType is very heavy on performance especially when it's being run every frame
Ideal usage of it would only involve running it when something changes, and storing what it finds in a dictionary or cache or something
or ( if you have control over the object type you're searching ) just keep your own list by adding objects in Awake and removing them in OnDestroy π€
fixed 
Yippee
or OnEnable and OnDisable if the difference matters to you
@polar willow
entrance caching prevents clients from leaving the ship
the landing animation doesn't play and the doors don't open
this log is from a client that joined me
looks like some mods are destroying network objects incorrectly
all the ones i'm seeing are during dungeon generation
where is says trying to destroy network object

hmm
can you send modpack code
I'll add some logs where networked object destroyed incorrectly
for now I'll add null check
Uh oh what'd I do
the teleporter to main in tartarus is causing issues with entrance caching
Entrance caching?
pushed 0.0.126
lethal performance 0.0.125 added it
but diffoz said something is destroying network objects incorrectly which may be caused by the teleports
Hm
it could be other mod doing something wrong
I have a VFX prefab that spawns when you use the teleporter
Maybe it's that
Its a shitty way to do it but I was tired and couldn't think of a better solution
It's pretty much just a light and some particles controlled by an animator that follows the player who was teleported
I think I set it to destroy itself but I forget how

Not entirely sure, I remember nothing of the code I wrote
oh right
it was also affecting moons that generated interiors that weren't tartarus
so it might not be 100% tartarus
Maybe they have similar mechanics
the results were the same every time that it didn't play the landing animation and the doors refused to open
I wouldn't be shocked if my code does something silly
I mean hell one of my rooms once caused an issue where it killed the entire games lighting system if cull factory was enabled
yea
So at this point nothing surprises me
Regardless, anything I should be doing on my end? At a later date of course I wake up at 3 tomorrow and I be eepy
the thing i'm certain of is that it doesn't happen in 0.0.124 which doesnt have entranceTeleport caching
so it's an interaction with that specifically
if only StartOfRound had an instance...
Iirc 90% of that code was just copied from the LC main entrance code so it could probably be improved tenfold
I just threw it in, and it worked so I left it π
my code should handle finding object of type fine, we just need to find a mod that calls Destroy on networked object
[00:09:29.3185375] [Fatal :LethalPerformance.Patcher] Bomb(Clone)
[00:09:29.3185375] [Fatal :LethalPerformance.Patcher] Bomb(Clone) (Unity.Netcode.NetworkObject)
[00:09:29.3185375] [Fatal :LethalPerformance.Patcher] /Bomb(Clone)
[00:09:29.3185375] [Fatal :LethalPerformance.Patcher] at System.Environment.get_StackTrace () [0x00000] in <787acc3c9a4c471ba7d971300105af24>:IL_0000
at LethalPerformance.Dev.Patches.Patch_NetworkObject.LogStacktrace (Unity.Netcode.NetworkObject object) [0x0004c] in /_/Patches/Patch_NetworkObject.cs:70
at Unity.Netcode.NetworkObject.DMD<Unity.Netcode.NetworkObject::OnDestroy> (Unity.Netcode.NetworkObject ) [0x00000] in <895801699cfc4b4ab52267f31e2a4998>:IL_0000
[00:09:29.3185375] [Error : Unity Log] [Netcode] Destroy a spawned NetworkObject on a non-host client is not valid. Call Destroy or Despawn on the server/host instead.
these look like LGU items
looks like it is
should i send this in their thread
because it also logs that it cannot destroy transform
yeah
Mmm alright I take it that means I'm off the hook for now and can sleep!
@polar willow did you change anything aside from adding more logging to 0.0.126? i just tried to replicate the bug i had yesterday in lan and it didn't work (with 0.0.126)
no, the logging is not added
oh
because i did lan testing for whitespike's updated lgu dll today
the old dll was replicating the issue in 0.0.125 but not 0.0.126
so if logging wasn't included in 0.0.126 what was the change
in 126 I added null check to prevent exception
so with LGU fix .125 it still does throw exception? I could try again run the modpack with logging to see what mod causing it
no, lgu fix works with 0.0.125
the unfixed lgu dll caused the bug with 0.0.125 but didn't with 0.0.126
ah ok
i'm assuming it didn't happen with .126 because of the null check
yep
@polar willow @agile oyster Unsure which mod is causing it but Sector A is consistently failing to generate entrances
I also saw this error from CodeRebirth
For what it's worth I'm trying the Pre-Release atm of LethalPerformance
https://thunderstore.io/c/lethal-company/p/v0xx/SectorAlpha_Interior/ this interior seems to be dying
I'll try disabling ButteryFixes rq and see if it repros since I know that touches fire exit stuff
Okay it still doesn't generate entrances with Buttery off
Gonna laugh if the Interior is just breaking cus the Sector 0 moon generates so many entrances tbh
Well I'll find that out right now
Okay it seems to be Lethal Performance
I swapped back to 1.0.1 and it generated
@polar willow is the interior doing something wrong with how it's generating entrances that's causing it to fail with the Pre-Release?
@fleet aspen Is this the case? Cus I noticed Sector Beta generates fine
So far yeah, unsure if any other interiors might fail
yeah, im also trying
I set it to 9999 on Sector 0 and reprod it consistently
do you have a dynamic dungeon multiplier set
I even reverted the size to default values and it still happened
oh that answers it
I had it originally at 0.8 and 1.6
but it still happened even with min 1 max 2
which are the defaults
i could realistically see it failing at 0.8 but at defaults there's something wrong
yeah so dungeon did generate (althought really big for some reason) but main entrance is blocked for me
Yeah I was consistently getting it blocked
i'll see if fire exit works
and Code Rebirth was sometimes saying the fire exit generations went wrong
that's diversity dungeon generation logs
code rebirth and buttery fixes currently logs if fire exit are failed to be assigned
those errors aren't generic exceptions either so it isn't just a normal CR being everywhere thing
yeah but it never really got that high before
it only started after i installed LQ
Oh fun, do any other interiors in my pack have this issue?
I'm amazed it works in general LOL
well uh if you have beanies storage complex that one doesnt have the issue
cus thta was like the only modded one i could get to spawn today
oh lost edifice doesn't have it either
idk if u use those
Wesley's are likely also fine, this would explain why I've never seen masked leave when getting Sector A and Lost Edifice tbh
Cus there is no entrance teleport for them to leave
LOL
wdym
Masked enemies never go outside when you get those interiors
i literally just said lost edifice doesnt have the problem
if masks arent going outside on lost edifice you have a different problem
I think it's just an interior bug, I've noticed sometimes enemies lag a little and have navigation problems in the main room
i'll check sector beta rn
I already tested Beta
it generated fine
Alpha just needs to have an entrance teleport
I haven't inspected if the doors are networked on alpha, it might be that, cause there were a lot of other similar inconsistencies. But the entrance tile itself is guaranteed to generate
Yeah it's just there's no entrance teleport
lol
it still there, but it's not networked
I think diffoz tweaks is missing physics interaction
and I found some API that's adds physics with one method call
i think mirage needs that api too to make sound physics more realistic
sorry for the ping, is thunderstore working for you rn?
it does work for me
π
for april fools, we took down the thunderstore
fixed it by adding thunderstore to dpi blocker π
diffoztweaks 1.2.0
Taa
πΌ π
and.. 1.2.1 bwah
noo i forgot about physics api dependency π
It's funny cus I've never even had that JLL bug that 1.2.0 is fixing
Clients could always buy items from the shop just fine
the funny thing is that even using your pack it doesn't work for us
That is so weird LOL
Clients buy the action figures and stuff all the time so I wonder why it fails on your end
diffoztweaks 1.2.0 makes half of my mods not load...
use 1.2.1
made log system to see what interior have networkobject on the object
even vanilla interior have NO, but looks like only for kill triggers
;o
Technically Vanilla has 3 different versions of Facility
lol
Surprised it only registers 2 does that mean the one originally created for Titan is unused?
Extra Large is the one Titan uses in Vanilla, I know LLL changes that by default
extra large is not used by anything in vanilla
my guess is that it was created for titan at one point long long ago
alr, only sector a have entrance teleport not networked
but titan uses the base factory with a very large map size multiplier value
Ah maybe
Tbf I'm not a fan of the one made for March either and how it generates so I feel like Extra Large would be cursed
Pre V50 Titan took a very long time to load and people would often call it the Titan loading experience cus it was the only moon that loaded extremely slow so it's possible Titan used the Extra Large versions in the V40-v49 builds
That or maybe it just generated too large at the time
Unsure
idk titan still loads slow as shit in vanilla
Ah lol
the map size modifier is still really high
and just going off of LLL's default settings extra large wasn't used by anything
just level1flow and 3exits
My guess is Extra Large was used for it before he added the map size multipliers then
probably
3 exits is already weird since we know the normal facility can generate more than 2 just fine
i still think that's a side effect of LLL (unless batby would like to say i'm wrong)
cus march is still the only vanilla moon with more than 1 exit
i just don't think he accounted for it until march came along
I doubt that and the reason being is how often Mineshaft fails to generate more than 2 properly
but maybe I'm wrong idk
i just attribute that to mineshaft having strange generation
it also doesn't spawn on march
only on planets with 1 fire exit
I've had it on March before when Rebalanced Moons allowed it
In fact there was a bug at one point that made it only generate Mineshaft pretty much lmfao
Idk if RM still does this btw
yeah but that's with rebalanced
I mainly use it for Titan
it's not allowed to spawn on march in vanilla
doesn't mean it can't though
Yeah but that's cus Zeekerss didn't set it, you can still set it to with LLL and it will likely generate it
that's what i'm getting at
it probably can't generate the fire exits for march correctly in base game
March might be my least favorite Vanilla moon nowadays tbh, when I first started playing it was my favorite but I replayed it a few months back and did not like the facility generation and how sparse loot was at all
It's such a weird moon
that's cus march has a size mult of 2.0
and not a lot of loot compared to titan which has 2.2
Yeah at the time I think I liked it most cus March was the most unique
when Adamance came out that quickly became my favorite starter moon
For a while before that I started off on Ass a lot though cus it was the best for loot
before v60 it was the ideal forest moon cus vow didn't have the buff from mineshaft and adamance got too hectic later in the day
I actually still loved Adamance though despite that lol
march's loot pool was pretty much vow's but better
yeah i liked adamance a lot too but it does ramp up like crazy
march doesn't have as extreme of a spawn curve
i think that's ok
cus it's supposed to be the most difficult free moon before moving on to the paid ones
multi fire exit generation was made possible by LLL afaik
vanilla cant do more than 1 or 3 as far as i can tell by itself
yeah
here
LLL search global prop by id and sets range to spawn to match fire exit count on moon
Isnt it just actually impossible to make other interiors spawn on March without doing extra stuff lol
yeah, since it's set to be the 3 fire exit facility
log of how many fire exit global prop (id 1231) spawnpoints on flows
whats it mean if there's 0?
ok, found the reason, forgot to include doorways
does that mean mineshaft supports only up to 6 fire exits?
or is it like there are 6 tiles that can generate a fire exit
i think this
it means that all tiles only have 6 points for fire exit, only if duplicated tiles are not allowed
and only 3 tiles can have fire exit
that explains quite a bit about mineshaft on absurd moons like cosmocos
i wonder if you're able to read whether the tiles are able to duplicate there too
no extra large has been unused since at least v45
size multiplier has existed since before v9
That's cool that LLL does that tbh
now interestingly extra large is not present in the files for v9
meaning it was either created later, or zeekerss added it to roundmanager after v9 even though it was already no longer in use
not sure
1.2.2
- Removed hotfix of JLL :(.
would it be worth doing something like going through all enemyAI's, doing GetComponentsInChildren<EnemyAICollisionDetect> to their prefab, and if the collider is a trigger, messing with the exclude/include layers?
or is stuff like that too smoll to be noticeable/relevant
i know something similar was done for like audioreverbtriggers in reverbfix by jacob (i think anyway)
and enemyaicollisiondetect only ever cares about interacting with enemies and players
i was spawning a bunch of dogs (probably over a 100) and noticed my frames dying to 2 fps despite a decently good pc, so i went to profile it (i turned off imperium cuz i felt it was unnecessary) and all of a sudden stuck around 50+ fps even with 100 dogs, i think imperium just couldnt handle that many dogs lol but i just noticed the enemyaicollisiondetect update method kind of popping out (i know that it's with a lot of enemy's though)
my first time doing proper profiling with parameters and a seed 
var enemyAICollisionDetects = self.GetComponentsInChildren<EnemyAICollisionDetect>();
foreach (var enemyAICollisionDetect in enemyAICollisionDetects)
{
if (!enemyAICollisionDetect.gameObject.TryGetComponent(out Collider collider) || !collider.isTrigger) continue;
collider.excludeLayers = ~LayerMask.GetMask("Player", "Enemies");
}
``` this is all im doing on the enemyai's start just to test it temporarily lol
average draw calls went from being 2000~1200 to 1400~600
i dont know why it feels like every next frame is doubled in draw calls
and i dont really know the significance of the improvement
but it feels good?
@polar willow pinging you because i need your opinion 
is it time for XuTweaks to be a reality
i dont understand how changing exclude layers on a collider affects draw calls
but this does seem like a good change
on the OnTriggerStay of EnemyAICollisionDetect
but yeah i dont really understand it either
i just assume lower number = better
reverbtriggerfix hasn't displayed any noticeable issues from filtering to player/enemies/playerragdoll
and it has the same player/enemies tag filtering
i see that ontriggerstay was called 2 times, so 1000 calls per fixed update
less draw calls is better yeah it is just weird because nothing in this should be affecting draw calls
unless maybe one of these functions is drawing gizmos or something but i dont know if that is even counted
there was the audioreverbtrigger's OnTriggerStay stuff also triggering under the EnemyAICollisionDetect's, i think that's why it says 2
you probably meant calls, not draw calls
in any case
i think this change would be good to make yeah
it should be perfectly safe in vanilla
and idk any mods that would break this behavior
most mods are probably just using base enemyaicollisiondetect behavior
i might just look at random stuff like that, i'd also wanna test PlayerPhysicsRegions and see how that performs but it'd probably be similarly beneficial to do the same excluding
and doing custom stuff in their enemyAI
this is with your patch?
yeah, the high end being 1300~1400
it looks like playerphysicsregions should be safe to limit to player/playerragdoll
low end being 600~700
i think so too, i have one of my enemies set up properly i just gotta check just incase cuz those can be a bit weird
im not sure how exclude layers affect raycasts
it might cause issues with dropping items in a region, depending
also a patch would need to account for different objects having multiple colliders
old birds' physics region (which has to be added back with a mod, in fairness, but i mention it anyway) has 4 colliders and only 1 is a trigger
oh true
there's a solid collider for each shoulder and the head
it's all in one gameobject?
yes
assuming it's setup right, i can just grab the collider from the playerphysicsregion
also now that i think about it
i think the main thing that would be likely to cause issues is just the possibility that mod devs could be attaching multiple scripts to the same trigger
idk if anybody's actually doing that
i dont think people would necessairly do that with EnemyAICollisionDetect or PlayerPhysicsRegion
but that's the main thing i worry could break, in case someone is
i was talking a bit about it with zaggy, but since you're the person who caches it all, have you thought about turning a bunch of the string parameters in zeekerss animators into hashes to save the StringToHash operation unity does each animation parameter call? @polar willow
hmm, I can try to replace all calls to use hash, not sure for a big change in performance tho
might not be a big change, i wanted to try it but my transpiler skills are nonexistent lol (plus i wasnt sure of a good way to store the hashes for each specific string)
cache everything!!
if you're not caching every single possible thing, you're not doing it right
next lethal performance update caches all different variations of new WaitForSecond the game uses
and then some mod decided to search every landmine every second and my caching is blows everything, because landmines are not cached π€―
Who is doing that?
π€
Btw do you know what affects boot time most atm outside of things like Scraps, AIO LLL bundles and MoreCompany Cosmetics? I would guess Interiors might since they always load into ram
isn't I send list of mods with load time here?
You might have at some point
aaa
EnemySkinRegistry makes sense tbh
WeatherRegistry and MoreCompany are quite slow, MoreCompany is mostly due to cosmetics I noticed
Likewise EnemySkinRegistry is likely how many skin mods you have or how large the enemy skin mods are
ShipWindowsBeta seems quite slow
I knew SDM was slow to load
GI is surprisingly slow tbh
CR sped up quite a bit when I disabled the gals
lol
TakeyPlushies I removed but yeah I saw that spammed a lot of console stuff on launch that slowed boot times
It was concerningly slow
Enhanced Monsters should be faster than SellBodiesFixed right?
Cruiser mods are admittedly slower than I would have expected them to be
@polar willow I wonder what is so slow in GI and Buttery Fixes
π€
patching
LethalSettings can just be disabled when not needed to prevent that from slowing down things tbh
it's mostly useful for configuring a few things in Mirage
LethalElements is quite slower than I thought it was lol
Same goes for ScienceBird Tweaks
Why is Emergency Dice adding 960ms to load times though?
Is it cus of the features like the debug menu and stuff?
Cruiser Additions I can just remove, it's nice for the feature of moving items into the ship but I'm trying to debloat the pack and reduce boot times before I play Lethal again eventually lol
ShipWindowsBeta feels so insane compared to how quick Fumo and Mel's mods load

Wtf
lol
Good to know Starlancer's load pretty quickly btw, I pulled them since AIO bundles slow LLL down on loading bundles but I really love StarlancerZero so I'll add them back in
I felt like SDM and a few other mods affected it more
Replacing Loadstone Beta with Stable will probably help with Loadstone's Boot times, for some reason the size difference is insane
Why is Beta 3.2mb?
lol
I only had it cus I needed the blacklist feature for Art Gallery before but that got merged into stable
I'm gonna guess it's cus Beta has the extra Object Pooling feature potentially
@vale flower Am I correct here? π
God we really need an optimized emote mod tbh
Is TME not optimized
It adds almost 2000 ms to boot times
lol
Maybe optimization isn't the right word here but that is a lot to add to boot times tbh
Frankly with the amount of animation files it adds, 2 seconds isn't much
Fair I suppose
It's more reasonable than TakeyPlush doing it
Dunno if I feel like LethalElements should add 2s to boot times though
time to do stress test
for some reason it seems to have the old loading music
dunno why it does, not a hard fix though
Ah that explains it lol
I've pushed off-branch lethal performance 0.0.127 with behaviour caching, if no major issue happen, then I'll merge it to the experimental branch
why does lethalperformance keep boosting itself up the recently added/updated mod list even though it got no updates according to the changelog and "last updated" text?
it's updates for experimental version
they're numbered 0.0.12x
so modman doesnt think theyre the most recent but it still brings it up as a new version
also just diffoz not keeping a changelog
no changelog is also because thunderstore returns it from the latest version, so from experimental you won't see updated changelog
oh, right
alr, looks like stable enough to merge it to experimental branch
Is 0.0.126 gonna become stable branch?
Preferably .127, from what I know it doesn't cause any issues
(That the previous versions didn't cause from things like unspawned entranceteleport)
True
.127 will be stable branch, when half of interior & map improvements fix their networking stuff
from what I understand:
- Tolian interiors
- Sector Alpha interior
- Tartarus interior
- Map Improvements mod
are not spawning entrance teleport correctly
or if matty would release entrance teleport fix & optimization, then I will probably just add thunderstore dependency on that
what would that do?
also i agree it would be better to push that on stable when everything else gets fixed
luckily it seems like an easy fix in most cases?
@polar willow is this cus of LethalPerformance? The main entrance that generated was above the stairs, and this generated here in the original spot for some reason, I walked into it for science and died LOL
I've never seen this happen before
π
but I was testing 0.0.127 here
very strange is that doorway cutoff happens, because looking at the tile in editor it doesn't have one
can some mod add cutoff for doorway?
Maybe LLL adds it?
i dont touch this mesh (or this room in general) in chameleon
01960a00-31eb-5565-e9c3-2b0a4a6e0a6e Here's the pack I was running as a test, moon was StarlancerZero and the seed should be in the log
I wonder if it's cus I swapped out Loadstone for the stable version somehow
otherwise my guess is it's one of the recently updated mods
not loadstone
Got ya
it's some mod that changes this tile mesh
@vapid olive is RebalancedMoons touching it at all?
I don't change tiles
the only thing interior related I do is allow march to generate other vanilla interiors out of the box
Well some mod that recently updated in my pack apparently is touching tiles I just dunno what
lol
oh shoot also the titan lights i suppose
but like, i dont do anything to change how interiors look or generate
im saving that for another project
I doubt JLL touches tiles but that is one of the things that recently updated among with a few interior mods
and I can imagine an interior mod might do it
Maybe LC Office?
Actually I wonder if Wesley accidentally left something in cus he messed with Interiors for his April Fools update
I'll shot him a dm
i think there used to be a hole here before v62
when the main entrance always generated at the bottom
if a mod is still referencing the old mesh (for example, doesn't generic's backrooms interior have a manor start tile?)
It does but I've not seen it happen before with his interiors
maybe sponge mesh dedupe is fucking up
Worth testing disabling that though
I don't have dedupe on I don't think
Lemme check
Okay de dupe meshes is on
However I've had Manor plenty of times and not seen that
But you could be onto something about it being cus of Generic's
Not LC Office
testing disabling Generic's
Once I isolate it I'll test with de dupe off
It's cus of Generic Interiors
@restive minnow
Let's see if it's a de dupe issue now or a Generic issue
I'm leaning more towards Generic since I'm unsure why de dupe meshes would replace tiles but I'm more than happy to be wrong lol
Okay well
it's a thing with Generic's + de dupe meshes
Thanks Lethal Sponge
lol
we figured it out, turn off de dupe meshes in LethalSponge
It's replacing that tile with the one from Generic's Backrooms Manor one
a fix could be if Generic feels up for updating the tile to the one without the hole but I feel like that's unnecessary
Literally how and why
Probably cus it has the same name so LethalSponge just pulls the version of the tile from your interior and uses it thinking it's the right one
If it was replacing it with my entry tile it would also have facility and a massive backrooms section under it
I think it just replaced that specific wall tile but not sure lol, I did see a lot under it when I walked into the void and fell to my death
ah, i guess it makes sense i havent seen it since because i had all the dedupes off
Yeah that setting comes off by default now, I just never turned it off before cus it didn't cause issues
LethalSponge at it again
lol
i mean
Still was kinda funny to see that happen at least
i interpret the sponge deduping settings as a last resort for low end machines
like 7 year old integrated graphics kinda last resort
My WIP update to my pack has optimized things quite a bit btw, I pulled a lot of stuff and stripped it down there was so much that I felt like was just extra bloat
some moons and interiors, but mostly a lot of the small mods like AutoScroll and other stuff that I just didn't need
or mods that made stormy better, I rather just disable stormy
oh you mean that one that makes nothing conductive
Cus the more mods the more the game has to load, the longer it takes to boot
cc @alpine raven
Probably add this tile mesh to ignore list
so pulling a lot of those small unnecessary mods that aren't useful helps
Yeah I was using ProtectConductiveItems and Better Lightning before lol
I also pulled some mods like the NymphBracken, I like her but I wish she was her own enemy tbh
not a Bracken replacer
i stopped using betterlightning because it would spam errors
it also was just something that didnt really matter to me
i only noticed its effect like twice
Lmao fair
I think I've removed and switched out too many things at this point to put it into a changelog
I somehow found out LobbyImprovements was what was causing the weird stuff with the shutter switch in ShipWindowsBeta when I removed it, cus I didn't feel LobbyImprovements did enough
the 3 month coderebirth update with the changelog being 5 lines:
what was it doing with the switch
after removing it it the switch no longer does the sound every time someone joins or leaves the lobby, the voice line for the ship landing also works and is no longer broken
Idk why LI was causing that stuff but it was
did you bring it up to 1a3
I did and he had no idea why lol
do you notice if it spams that sound when doing lobby open or lobby close
I also let Test know so maybe when he's feeling better from being sick he can figure it out
Well the sound would kinda play spammed when landing the ship with a lobby of people remember? It would stack the sound to play per player so you would hear it click multiple times when it closed to land the more players you had lol
uhhhh i think after the lever anim was done
Yeah
i just know it spams when doing lobby open
it probably does it for each unassigned player object
Mhm
There's probably something that LobbyImprovements hooks into that TestAccount also has to hook into and there's some weird behavior of some sort
I'm sure him and 1A3 will figure it out
But now that I think about it, I wonder if that's why when in just a lobby of 2 people there's sometimes an extra empty player head you can see while dead from Poltergeist as well, some oddity from LobbyImprovements
I mean you won't see it unless you die
lol
But it's happened a few times for me
I just always guessed it was a random Poltergeist bug
lol
hmm
sadly with all optimization enabled it causing some issues with inlining
if I disable aggressive-inlining then works fine
with soft compat? or how so? this seems promising, I'm surprised tail calls aren't a default
although I suppose game logic isn't likely to benefit from that so much as low level implementation
others might be more significant
very interesting
if mod looks for the mod attribute from stackframes, then it will not work correctly
oh god
I see
not a fan of that pattern anyway but if it's in an API I guess we're stuck with it
i'll soon ( in a day or two ) make a github for it so you can double check my logic before i publish it ( if you want obvs )
Yeah, best to just not use the De-Dupe options unless your machine absolutely needs the memory saves. There are way too many overlaps in mods for it to be a general use feature sadly.
That one is interesting though, the wall mesh must have the same name, bounds, and number of vertices despite having that hole there.
it would most likely have the same name and bounds
curious how the vertex count could be identical