#[WIP] Unity AssetRipper / Fixer
1 messages · Page 2 of 1
strangely
dungeon still works
but it links to the test maps dungeon
the facility is still generated
but the tepeort doesnt link to it
lemme try the fireexit
fuck compiling shader strikes again
LLL will probavbly fix that automatically maybe
honestly !
this silly bullshit was useful
it confirmed something for me
my multi level dungeon idea is possible
pikmin 2 style levels here i come..
oh yeah i already have that working as a proof of concept
@tawdry arch if you want to try it out btw for your ui stuff (branch link is above it) #1199473521265475745 message
weird
i spawned a jester in the test dungeon and manipulated its state manually and apparently it just works it pops between em
but now its popped and instead of heading for me standing on top of a door or just standing stil really close to me
its just... wandering around?
its funny i never seen it do that
itlooks like its just checking spots on the map
i wonder how unity navigation works
oh hey
this might be realted
oh right sprry for chatting in this channel
its very useful and seems to work perfectly thank y ouvery much
i should probably try testing mods in this
is there anything you know is INCOMPATIBLE with the editor?
nothing that I know of atm
ah sweet thats not smething you can just do in unity explorer easily
Very suprised lll’s scenemanager il stuff works
Yeah it's great for that sort of stuff
I go brr with shader graph. I just need to get the actual ripped game working on my side....
Which I have no clue how to do that lol
hey guys where's money value stored again
#1199473521265475745 message to get the proper git link, and above is the branch link
Then just get the requirements/follow the steps
It's quite quick
i wanna load up titan and see it with all the stuff loaded in properly
Terminal script on the TerminalScript object in the sample scene
gotcha
hmm
changes to stuff while playing are reverted right
so i can just change weather values if i wanted to
In scene, yes, in an SO, no
I just modified titan's so to not have weather 
if you're lazy i'd just go down then back up 
fair
honestly dont matter anyway
damn selecting scene view after you load a new level really takes a bit
mmmm shaders
oh by the way once we eventually figure out the iconic shader
You can also make yourself start with a bunch of credits here every time if you change this
where would we even put it
I'd just inject it to replace the broken shader
wait
thisis real
its actually there
wouldnt it be funny to make this visible to players ingame
fuckin fourth wall of god above you
the jester i spawned on the test map
it's still there
forgotten by the game's code
Where is the shop stuff at
yeah the test map is always loaded so things don't despawn from it 
Not sure, sorry. Haven't look at any of that
this stuff? #1199473521265475745 message
actually that reminds me
cant you edit these properties at runtime
wheres the runtime version of the scriptableobjects stored
You can edit them at runtime yeah, (in the build they reset when you start the game again)
I still don't really get how you grab them properly in-game tbh
im pretty sure the asset path structure still exists while ingame
its just that usually this stuff is loaded into values never really laoded dynamically
U just like grab em

actually i never properly figured it out
hookgenpatcher is needed as a dependancy for mods, right?
its not just for generating the mmhook files or anything
i dont think the mods folder [ProjectName]\Assets\LethalCompany\Mods actually works the way I'd like it to
unless its incompatible with subfolders or somethn
That folder is for in-editor custom plugins, not for putting normal ones.
The normal one is either in the normal game path (if you have that option enabled), or next to Assets in Lethal Company/BepInEx (like where Library is)

even faster 
oh yeah speaking of that
will i need to copy that folder if i use this as a template
or can i leave it out and only copy the 4 folders we spoke of before
and it'll just be handled
No it gets auto generated
ahhh sweet
good job honestly
i think its cool the more stuff we fix about this the better this becomes for testing
yknow i wonder if you could ever get steam online working in this lol
Or actually you might have to now that I think about it, since I copy the dlls over + the fake structure next to it. Might as well to be safe.
Can't, no
ehhh alr
That's why I disabled clicking on Online lol
wait so is it impossible or not allowed
(you don't have to copy plugins/config/etc just the core inside of BepInEx btw)
Technically both
Basically just those four things
Or if you use the normal game bepinex, you don't need this at all, so really up to you
Basically online play doesn't work since the hashes don't match across the two different builds
keeping it local is good
build hashes?
have you checked what happens if you spoofed them?
Yeah basically, when compiled the rpcs/connection hashes are defined
It’s not really something that needs fixing
im just curious
So when a client from the normal game tries to connect, the hash is entirely wrong, so I just block the button 
Probably better this way anyway so people don't do weird stuff
oh right about this
if this works in editor does that mean it works just actually properly built?
I don't follow the last half of that
like exported as an executable
Oh yeah you can build the game
funny
so if someone was enough of a freak they could make a source-based mod instead of a plugin
im tryna think of a game people do that with but i dont actually remmeber any speciifc examples
super mario 64 actually
Well that patcher is a patcher, and local doesn't support patchers. If you want to use hookgen you have to make the dll from the normal game and copy that into plugins
oh right the tool part was before I went goofy and manually load all dlls from plugins
I'd just move it into plugins
right got this in
i just had the contents from this inside of this inside tools
unless you mean other stuff
hmm
lemme test
An example
weird it jsut doesnt do it
did i forget a step
does bepinex even run?
oh wait hm it is
is it just the dancetools button that isnt working
yeah im not sure hte mods are being loaded
hm...
I mean, it tells you the dlls/mods it loads in the console
well it says it loaded the dll
but nothing about bepinex actually running
ahh i see no config files were generated that kinda proves it
nothing in LogOutput either
wheres the part in the bepinex.cfg about the preloader anyway
Config files are generated in the project root
hookgenpatcher made those

i just copied the whole MMHOOK folder
if hookgenpatcher worked it'd make those itself too
Odd haven't seen it do that for me
ArgumentException: Undefined target method for patch method static bool BepInExPatcher+IgnoreILHelpers::Prefix()
HarmonyLib.PatchClassProcessor.PatchWithAttributes (System.Reflection.MethodBase& lastOriginal) (at <474744d65d8e460fa08cd5fd82b5d65f>:0)
HarmonyLib.PatchClassProcessor.Patch () (at <474744d65d8e460fa08cd5fd82b5d65f>:0)
Rethrow as HarmonyException: Patching exception in method null
HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) (at <474744d65d8e460fa08cd5fd82b5d65f>:0)
HarmonyLib.PatchClassProcessor.Patch () (at <474744d65d8e460fa08cd5fd82b5d65f>:0)
HarmonyLib.Harmony.PatchAll (System.Type type) (at <474744d65d8e460fa08cd5fd82b5d65f>:0)
BepInExPatcher.OnLoad () (at Assets/LethalCompany/Tools/Plugins/BepInEx/Utility/BepInExPatcher.cs:113)
here's the whole error
Remove all of the mmhooks besides the assembly-csharp one to start with
awright
Works for me, never used this before and I already hate it
Adds another event system
why
omg and it doesn't clear out its ui when you stop playing the game 
the hell is the mod doing
this file is fulla crud
lol
sorry its the only cheat menu mod that seemed to work...
I just hate it since their ui is the only one I've seen that doesn't clean itself up, and makes new event systems each time
Like I have no idea what the hell it's doing
anyways yeah nothing seemed to change
do you have the argumentexecption on your end
can they not be subfoldered
the mmhook has only 1 file in it now like you said to
Well remove the hookgen patcher folder entirely to start with
should i remove all the mod manager related stuff like readmes and icons n stuff
would this be a problem btw
Probably
mm not sure if it was that, error still there
what line is the error even at anyway
undefined target method...
Try this https://www.nombin.dev/xezwdcqjha (replace the script contents there)
A website to host temporary code snippets.
Yes
:)))
Just realized I might need an "update patcher scripts" button
Since like the one I sent you isn't "in" the package
It's copied over
(since bepinex is downloaded I can't have them in the package)
btw heres this
if you can find why its making those errors
It makes them since their prefab has an extra event system in it
And I think the object persists because they DDOL it + hide it without destroying it
This is horrid
Maybe I can manually clean those up when the game ends
Whatcha mean
you said it leaves stuff behind
Oh yeah it does. I'm currently attempting to write a fix for that
confirmed working by the by
gnome
hooh
oh hey i didnt even need dancetools
LC debug menu doesnt have a fixed list
it probably reads from allItems
do you mean it literally though
is there something left behind id have to like delete or something
No it's annoying objects that are made in a way that unity doesn't destroy them
One of the fun edge cases
ok not even the hide flags can find it
Where the hell is this object 
I win
I killed it
I also accidentally killed the editor camera
the editor is kinda weird about these objects
UNLESS
you use the other lighting thing
that i dont know how it works
which one is scene lighting?
Bottom
right
i have exposure override on here tho hold on
yeah looks about right
once we fix the shader will it work in the editor?
i assume it would
Probably
also yeah it shows the assets
but its really vague about paths
doesnt tell you where the mesh or whatever are from
Also fixed the event system issue
:)
https://www.nombin.dev/uxwzoxtrcg if you want to try it out (same file as before)
A website to host temporary code snippets.
glad to have tested
this will be very cool for testing a load of things
unityexplorer was nice but so slow i gotta admit
Yeah
runtime c# console still useful though
ooo
Ill make a skip to SelectableLevel script this week
@trail oriole How long should process be..?
It has been over 30 minutes and nothing happened so far lmao
@trail oriole Sorry for the ping but VERY GOOD NEWS. I have found the issue concerning the shading of the game!
👀

Yeah though I'll need to recreate the actual shader in shader graph.
But yeah the shader graphs are all completely borked from ripping the game
Shader is just.... black
Trying to actually export the decompiled shader just errors out:
Time to recreate the shader
Yeah haha
I assume you figured it out/it eventually finished for you? (I was asleep)
sick
I guess something i wanna mention
i feel like the contrast is a bit high specifically in the scene view
not sure why
seems to be post processing
Yeah some more sorting, but it's a bit of a pain to do sorting on these as I don't have access to any game types or anything (since this is tool-level). So can't do anything super specific

Recreating the posterization filter?
Yes since the ripping it doesn't work
Somewhat a good replica so far... I'll keep working on it
@heavy marten dunno how well stuff compiles but i wonder if you could compare your built/yaml etc. shader file to the assetrip one to look for inconsistencies
That's the problem. I can't get the game's one to decompile on ripping
If you got it it'll make it so much easier for me
doesnt Acerola scroll through the shader code on his video? i feel like someones gotta have it
edge detection drops off btw the farther away from camera it is
so it becomes super hard to see
posterizing the volumetric fog is also done to get that grainy effect on the fog
Yes
I'll need that and probaly the _0 one as well unless they are the same
@humble ember This is also a dummy shader oof
pain
All it does it set the albedo to Color
Trying to rip the Decompiled version of it does this:
It's all up to me to recreate it at this point..
@trail oriole its your fever dream
the guy from the video had what looked like a shader assembly
i wonder where he got that
https://youtu.be/Z_-am00EXIc?t=718 yeah you can see it here
The first 500 people to use my link will get a 1 month free trial of Skillshare: https://skl.sh/acerola01241 ! #ad
Lethal Company has some very compelling visuals, but how much of it did the developer make themselves? And how does it all come together?
Topics covered: Frame capturing, fixed resolution rendering, edge detection, posterization, ...
ohhh i see
its from a GPU memory dump
NVIDIA Nsight
You can just nab that
im getting it now because it seems like a cool tool
in general
ill tell you if i can figure out how to get a shader assembly myself
Unity renders stuff upside at first 
Yeah the shader will be a shader compiled for NVIDIA GPU API calls
Not shaders we are used to see
Our shader is more "human" than what the GPU actually gets
@pearl burrow I'm getting there
Weird posterization is complete
At least most of it
Outline is not much great for this type of thing. I'm sure he makes use of the Gbuffer for it
Which is what I'll be doing next
Nice
Looks quite accurate
There are some slight differences
But otherwise looks pretty similar
Just need to fix the skybox
And reduce the posterization from distant object
is it unrealistic to get to like 99%:100% parity?
Cause that looks horrendous
Trying my best but most likely won't happen
Since we don't have the decompiled shader for it it's basically trial and error
Also the noisiness of the posterization is a unity editor thing. If you'd build the game it won't be like that
The graph looks horrendous lmfao
checkboard squad
I don't even know how I got to do so much progress already
yeah i know but it'd still be useful wounnit
The noise is because he's posterizing light data and depth, and HDRP light is noisy
You can see it in game when a light is higher than the hallways the floor will look noisy as well
I don't know if actual colors are being posterized i didn't dive too deep into the disassembled shader
No I meant there's artifacts in the editor, which is normal, I know light is noisy though. There's some dithering in editor
Dropping this in here, It makes your game have the post processing that I've made. Simply import it and that's it.
Note the it'll replace the "SampleSceneRelay" scene!!!
This is also WIP!!!
It also adds a separate folder for the posterization asset so it doesn't get lost within the games folder
Beautiful
Skybox is still broken lol so there's that
Curious if it'l cause the same issue with my portals to see if i can try to fix that now :p
Wait the original isn't a fullscreenpass i think it was a drawrendererspass :p
Yes I'm aware
Oh @_@ was just making sure
I don't want to do that way it's lot more complicated than FS
Skybox fixed
I made the outside look much better I think...
Makes the outside much more enjoyable and accurate:
Same instructions as this: #1199473521265475745 message
the heck are the icons on the right 
Diversity player conditions
Fix water and the shader that appears when you bring stuff onto the ship
And the blob guy
These are all shaders I have to remake...
Trying to make this effect more accurate:
K
Mine:
Edge detection
It's lookin good
Hoping to get some sorting done this weekend/laterthisweek to finally push this version onto main
(busy work week so haven't had time yet)
It's all guud
I'm also doing this cause I wanna remaster the entire graphics to something vanilla but with some differences
So remaking it will save me lots of time
Whenever I finish the whole thing I will cleanup the graph and make it easier to read so others can also do some editing as well for their own projects
Cause rn it's uhhhh
Yeah...
mmmm nodes
Well I made some sub graphs so it's smaller then what it truely is
My edge detection subgraph
Add that 2 times in the main one
unity package update when!!?!?
@trail oriole I'm trying to test a mod I made with your tool, how do I include that mod in the build
It's a multiplayer mod so I have to build and add the mod
Do I just do it as you would normally install bepinex
Yeah I think you'd have to install bepinex for the build like normal. Haven't tested that part of it
I haven't slept... I'll post the new package when I wake up
@trail oriole Is there a public branch available or are you currently just putting out private ones for testing?
Sick, ty
Just to try to minimize the amount of file moving I need to do and get some clarification, can I run this on my existing project that has LLL and Eva's template, or is does this strictly require a fresh project and then porting over all of my existing work?
It needs a fresh project
(mainly since there is not template now, and it uses a specific path or two for some stuff)
But after that I think you can run it in place to re-patch the scripts for future versions, but I've never tried that part
Alright. Well I have two backups, so I'll get to work on copying my stuff over :)

Hmm whats the alternative to patching events, other than manually adding them in the game code :p
Success 
Gonna try getting Auralis loaded in now, we'll see how that goes
Having to reassign scripts and stuff, but that's to be expected I suppose.
Yipe
Better Posterization Effect
Have fun figuring out the slime shader LOL
@trail oriole is there a way to reconnect the scripts instead of having to go through every field and re-fill them?
Like for existing prefabs? For that part I'd use NG tools since that lets you remap on the object level (while the tool remaps on a project level and not with non-game existing stuff obv)
Or do you mean like the field values and not components
For the LC stuff I had been using with Eva's template. Like I had pulled the ItemShip and DoorTeleports and such, plus the SelectableLevel scripts from my already existing moons. I can slog through it just fine, but I figured I'd ask if there was a better way lol
Mostly the field values, I don't mind comparing to see what the missing script is. I'm unfamiliar with NG tools?
Ah okay, I'm not really sure on how that breaks (I guess something gets mismatched), if it's guids you could maybe see if you updated to their new one if it fixes it, but I don't remember if field values are stored with that (not at pc atm). If they are stored like that in the asset's file, then you could use the debug section of the tool to drop the script into it, and press the button below it to get the guid information and do a bulk replace. Otherwise you might have to do it all manually
Does that makes sense?
I'll give it a try! Just to make sure, is this the tool you're referring to?
Oh yeah, that's when I thought you meant like the components were broken (I misread). This wouldn't help with fields
Is a useful tool to have either way though
Ahh, rip. At least I can copy/paste the spawn anim curves across projects (I think), which would really be the biggest hassle to recreate. Thanks for the utility suggestion though!
Actually I wonder
How are you moving the assets between projects?
If you export a package of all your prefabs and what-not, it should maintain all the data and connections afaik
Ooooh I hadn't thought of that, I was just copying the folder. I'll give that a shot
Should I have "Include Dependencies" checked, or would that mess with your template?
You can start with that selected, but just deselect anything game-related (like scripts). The guids might break on the transition over (and would need the replacing with ngtools/manual), but the fields might be fine, so worth a shot.
Hm, no luck with that attempt, but I'mma try something else
Yea still no luck. I don't have a ton of objects with custom scripts at least, so I'm just gonna do it the manual way, since it seems like that'll take way less time than figuring out a "shortcut" 🤭
Also, should the LLL dll go in the BepInEx folder?
Restarted the project and it told me to use Safe Mode
This was after I re-did it fresh
I haven't tested many plugins in-editor if you need to access them for your plugin (like dropping in the project itself). But normal plugins go into the game's normal bepinex directory, or the local bepinex directory (it's in the readme on the exact path) depending on which one you are using.
Guess I'd need more details on what you are doin with LLL
Just having it in the project since my moons depend on it, so I figured I'd need to have everything in one project. I also got the NG tools working (no clue why they weren't showing up at first) but it's detecting a broken script in every LC prefab. Is that normal or have I done something horribly wrong?
they use eva's stubbed scripts and references to those stubbed scripts need to be references to your working scripts
I guess I'll have to try and import LLL directly/add a prefab from another project into the project to help out properly. Unless batby is able to help more on the LLL side with the errors. Not sure if I have a meeting tonight yet, if I don't I can look at it before bed.
No worries if not, I can stick to what I have working for now, just wanted to be an early adopter of new utilities 🤭
Your tool seems like a dream, being able to test things in-editor so easily
Would you be able to maybe share the project that has the working stuff so I have a test case to try and make stuff to migrate easier? Or is it like a "notouchmyunreleasedstuffmister" project currently haha. Otherwise I'd need some kind of example to work with for it.
Absolutely! I haven't made any changes since my most recent release, so I'll DM you with a download link. It's a bit chonky though bc of asset store stuff, is there any way you'd like me to pare it down?
I'd just need these folders (if the size above includes the Library and stuff)
Kk, I'll get them to you soon :)
I actually redid the color based edge detection from LC by uh 99% comparison. It's practically identical now
Does your shader work in-editor without hitting play?
Yes
I think I'm done with the shader
I'll be working on tweaking to make it look as much accurate as possible
The graph is horrendous
Nice, good luck!
@heavy marten should do something to let you see 1:1 gameplay with vanilla shader and yours side by side
I'll do that
While recording I encountered her....
@humble ember There:
That's super impressive!
welp it just corrupted my relay scene now everything is Missing/Unasigned didint realize it replaces the scene in the unitypackage
That's weird... Shouldn't corrupt it ;-;
Damn, can't get my proj to import the assets :/
When you finish it you should zip it up + provide instructions on what it needs so I can integrate them with the patcher instead
"fix muh shadergraphs" button
If it relies on a custom volume and what not, then that part could just be a prefab, and any camera changes could be injected afterward
@naive steppe tfw I am making a utility script to put in another project to extract all the type guids so the new project can read that and properly patch the stuff.
I am making progress 
That's awesome! Glad my project is the guinea pig 🤭
@trail oriole How do I correctly add dungen in the asset ripper
After step 3, and before step 4. There is a blob about that.
How does it want me to add it? As a unity package
@trail oriole
Import everything from the package, drag the imported assets into the path it specifies, that's all
Ah I see
So I just put the dungen folder in Assets\Unity\AssetStore
If that's the only folder, yes
@naive steppe

Wait why is it grabbing from the output
Heck 
Welp I fixed the scripts on them, but the prefab links are still busted. That'll be for tomorrow or this weekend
The problem was that I didn't even have those prefabs in the other project, I added some (not all because file size) and it seems to properly grab them again. Neat
Oh sick, so the patcher worked?
Need to do a larger import of your test project to test, but I think so
Yeah I'm trying to figure out better methods for integrating that stuff, and simplfying the installation more. Just might take a bit. Once Chaos has the shaders good to go I'll integrate that into a patch step so it doesn't break anything.
I now have that one dll step automated now, so I can remove it from the steps 
@naive steppe https://github.com/nomnomab/lc-project-patcher/tree/v0.3.0?tab=readme-ov-file#can-i-transfer-assets-from-another-project-into-this-after-patching Seems to work. Not really sure about how to handle the duplicate assets (like the materials/textures/etc from the original project already existing in the new project) but everything else seems to migrate over to the new stuff.
Hell yea, I'll give it a shot later :)
@trail oriole For the shader, do you want me to show you the steps for setting it up so you can implement it?
Was afk, so just saw this. Yeah, steps + a zip of the content would be good
Will do c:
@trail oriole Just to clarify bc of the naming here, should I put all my Starlancer assets in here as well? Like the monobehaviour and prefabs I have
It's meant for store assets, your mod stuff would go into mods. Don't have to put in either if you don't want to, but it's just the tidy way if wanted.
kk, ty
@trail oriole Will start fixing the other shaders
I know that slime, ghost girl and the monitors needs fixing but otherwise anything else?
Circuit bees
the scrap collection thing?
Oh yeah that
Have you fixed water
Not yet I must fix it too
So @trail oriole is the graphical discrepancy in the editor the result of a better rip of the HDRP assets, or some different settings from my original project?
I was able to load into the game btw, but I couldn't see my moons. Probably just don't have something set up right yet
Ah, it's because my SelectableLevel scripts broke
Oh?
It's different because I assign the proper hdrp asset from the game, rather than the normal templates seemingly using the default hdrp asset instead
which ones are those?
The ones that contain the details of the moon, spawnable scrap and enemies, and spawn rate curves
My audio reverb presets also broke
Hmm
pain
oh I don't patch SOs with the external asset patcher 
Yep that fixes all that
I'm just dumb 
Pushed that for ya
I really should merge 0.3 soon, it's getting a bit thick for its number lol
Ah, it all makes sense then 🤭
At least I didn't do something wrong then
I don't have a ton of them, so it won't be too hard to redo them, but imma try and see if NG tools can do it for me. I clicked "manual pick" in the recovery window and it just keeps running without actually showing any progress 🫠
ng tools moment
btw the external asset patcher thing can be ran at any time, so if they are still busted it will still fix them
Oh sick, thanks 💙
Oh also, when I restarted it to get NG tools to show up, it prompted me for safe mode with these. Anything to worry about?
Got this message when I tried to rerun the asset patcher:
No idea what the first errors are about. The pop up box is saying you didn't select the json file you exported from the original project.
But I did ; - ;
I only have the Extract script in the original project, and I only have your tool in my new project, so I'm pretty sure there's no way I could be having a mismatch
wait
does the json have to be in the original projects asset folder?
welp nvm, I restarted the project and it's running now
IT is dumb
Success \[T]/
You're awesome @trail oriole
Now I just need @heavy marten's shader installation steps and I'm golden 👀

@trail oriole seems a little dodge/low priority but I wonder about a feature where it downloads a thunderstore link and dependencies and puts them in a folder in /Plugins/
I could see it being preferred for devs to just provide a unitypackage tho
A fellow assurance prefab moon user I see
Fits the best visually without me having to make one myself 🤭
I concur
Yes gimme 2 sec I'll tell you
You can use my unitypackage but apparently the scene override breaks? so don't override the scene...
@trail oriole @naive steppe Go in SampleSceneRelay then go to Sytems/Rendering/CustomPass in the hiearchy. Then tjere should be a custom pass volume compenent in it. Simply use my posterization material and set it up like in the picture.
Is this the same for moons or is it automatic?
Awesome, thank you! I'll give it a go in a few. @trail oriole how would I go about getting my custom moon to actually load? I thought it'd just be as simple as putting the assetbundles in the bepinex folder area, but sadly not lol
Only SampleRelayScene needs it
Never tested the bundles directly in the project tbh. I think those would be loaded normally in the bepinex directory like you'd normally set up LLL for now (Lethal Company\BepInEx next to Assets). I'd have to see if I can extend the plugin finder to outside of assembly-csharp I guess while in-editor.
Nomnom, what's your plan after this update of the patcher
explode
Uhh probably more focus on the bepinex side of things I guess
Cool
Not sure yet, about to be nuked with normal work stuff between 3 teams so I have no exact plans yet
Also I have 2 machines which I use for lan tests however that doesn't work with the tool
It doesn't let lan connections fire
lol I don't have two machines to test that
lan worked fine on one machine at least
Unfortunately not working for me. I also tried setting it to "Use Game BepInEx Directory" and putting my bundles (and LLL + dependencies) in the game's location and still nada.
Barring loading the bundles in editor, is there any way to force landing on a modded moon straight away by pressing play?
Works for me with the same structure it comes as 🤔 (game dir version on left, local dir version on right)
hmm, I'll investigate a bit more, ty for the example pics
There isn't a quick option for loading into a modded moon yet, but there is a way to auto skip and auto select the first save. Under the tool's menu item (tools/nomnom/blah blah) there is an option toggle for skipping the main menu near the bottom.
For some reason that hasn't been working for me
That will break LLL lol
It didn't break it when I used it 
I use the same execution flow, I just auto-select the buttons and stuff (instead of going whole hog past things).
Same delays that are baked in
huh
Where did the heckin scripts go 
why you do this

Well no wonder your bepinex stuff seems broken
The bepinex patcher aint there at all
Or I guess check to make sure that folder is empty. Check Assets\LethalCompany\Tools\Plugins\BepInEx\Utility
quite empty
Yep that's the issue, I have no idea why these got deleted lmao
I take comfort in knowing that I help identify issues 🤭

Ooh your schizophrenic
@humble ember yeah it's just this (gray because it's not in the project atm)
Goat. I wish the mods that do this did it your way aswell 😛
Most of them skip entire scenes
Yeah I did that initially to test but it kept breaking the player settings entirely so I came up with this instead 
Will be nice to also have this integrate pulling the lever maybe
@trail oriole when it's added back, will I need to re-do the initial setup of the project?
Normally, yes, but you can also just copy them into that folder from where they are in the package.
sick
https://github.com/nomnomab/lc-project-patcher/tree/v0.3.0/Editor/Libs/BepInExUtility~ They are in that folder
Okay so I updated the package in Unity, but I'm not seeing anywhere to grab those files. Am I misunderstanding something?
Heck yeah
Thanks again for your help, as always ^^ now I'm gonna set up the posterization shader
I'll probably start adding that + other shader stuff in 0.4
Thank you! I'm assuming we can just copy the custom pass object and put it in a different scene to preview while we work on it and just disable it before building? Or would the game's internal shader take over and wipe yours?
Where is that shader again
.
For previewing yeah
Ah okay, thought they were still modifying it after that
Maybe, but I can always just update the shader
Though this scene never gets deleted on load so if you wanna try it in game only the SampleSceneRelay needs it.
Yes I am still working on it
Though if you make the setup in your script I won't include the scene in the package but only the shader so it doesn't break people's project c:
What all do you even modify in the scene? If it's just a volume, then I'd just put it in a prefab and I'll just auto insert that into the scene via the patcher
Does the edge detection get less accurate the farther out you are like in game?
#1199473521265475745 message
Yes I implemented something similar
Gotcha, so yeah just needs a prefab
@trail oriole looks like animator and audio source components get broken in the conversion
for your moons?
yee
ffs okay so because I forgot about commented out code, I have to push another dumb fix for the patcher. If you want the menu skip to work you need to uncomment these btw in the bepinexpatcher script you copied over :)))))))))))))))))))))))))))))

I think it might be a similar problem to the materials where I'm already referencing basegame stuff
lmaooo thankee
Did you not copy over all the stuff from the original project? The fixer doesn't map the materials/clips/etc to new ones.
I didn't copy over the basegame assets I had already had ripped, is that what you mean?
Yeah, it won't auto migrate those for you, since I don't really have a way to do that part (different folder structures/could have different names/etc)
Understood. It's a simple fix for me anyways, I can just go into a vanilla scene and copy/paste
Yeah. I could look into a raw name migrator, but that would have to wait until 0.4
Fair enough
I think I have the steps as automatic as I can make them (for the main patcher)
Yee, it's fantastic. Much better than doing all that stuff by hand 🤭

Triskelion scene has been successfully rebuilt :)

wait crap, forgot the door broke
Ohhhh
I wonder what would happen if I started making moons....
Making open world, 3d renders and modeling is one of my strength
For example:
Nice! You'd be awesome at visuals for sure
ruhahg
Cool moon!
Thanks! :)
already found my use for this really nice to put some gizmos in there and actually visualise what my numbers mean
oh very nice
I haven't tested on any vanilla scenes yet, but interior enemies don't seem to spawn while playing in editor for me.
The assetbundles work fine though
That's odd
Vanilla spawns interior/outside work fine for me in editor
So might be something to do with your stuff or LLL? Unsure

Same
Dunno, but I'll keep investigating. In other news, and idk if you can help with this or not, but I can't seem to get my MonoBehaviour script to bundle? Do I need to make it a completely separate plugin to use it in-game?
ah yeah I don't really know how to handle the export-side of things if you test with in-editor script versions of a plugin. Since you have to use the same plugin in-game where the mono comes from to load it back up.
So that part is a bit of a gray area on how to approach it.
kk, I'll work on it 🫡
i think im gonna use the secret labs mod to test if i can export prefabs and scriptables from a mod and like
test the dungeon flows in the dungen flow analyzer scene
anybody ever try that before
wait
how does LLL work?
this bundle's prefab folder just have a bunch of items in em
@heavy marten does this version of it not do proper depth clearing 
wait no that was secret labs mod i was lookin for SCPCBDunGen
ez adding however
@trail oriole So how do I build a mod with your tool
Dunno, haven't gotten there yet
Oh. Woops forgot to...
Try to set clear flag on the custom pass volume to depth and see if that fixes it. If not then I'll do it in the shader manually.
Hmm doesn't seem to change anything, regardless of the clear flags value. Odd
worked fine for me as well, got jumpscared by the spiders blue legs
Either I'm dummy unlucky or I've just got something set wrong. No big deal tho
Ight I'll fix it when I'm home
Once I do figure out in-editor plugin building, then the netcode patcher won't be needed. So that's fun
That'll be really nice
Oh my god yessss my mod is so almost ready to be shipped out
Is it possible to do it manually
I think I have encountered some problems, how should I solve them?
Make sure you have
Git
.NET 8.0 or above
Until we get it finalized, gonna have this entry here
Is that gonna disable itself upon building asset bundles?
Ah right, I forgot that the issue I had was I was using an object in the scene to let me preview the effect there
Ye, I grab it at runtime and clone it so it's all automatic 
noice
Work on building plugins 😸
Anyways @trail oriole So how do I setup LLL within your tool
@naive steppe what did you end up doing for LLL? LLL dll in project and all the LLL/LethalLib plugin contents in local/game bepinex plugins?
let me know if you need any help with that nomnom
i haven't looked at it but it's possible my folder search stuff isn't flexible enough?
@rugged sentinel could answer that too
what? who? where? huh?
Why ping them for this 🤔 I was working with starlancer with this directly
I'm here so I might as well dance
oh no, dance party 
I mean what files did you use for LLL to work
I dragged the .dll into the thing
i think it was something like Assets/LethalCompany/Tools/BepInEx/Plugins
What all dll's did you use
LLL, LethalLib, MMhook
I think that was it
everything under those that was a dll
Ight
LLL, LethalLib, MMHook in Assets/LethalCompany/Tools/Plugins/BepinEx
With "Use Game BepinEx Directory" checked
Did you put all the dlls in there or folders?
Dlls
@trail oriole Hey so when I add the dll's they don't register when loading in
I finally got it
@heavy marten did you mention that you were working on (or going to work on) recreating the blob shader?
Yes I did
Sweet. Can't place a prefab slime on the planet rn, it'll just be invisible 🤭
Still not any closer to being able to build a mod from the editor
This wouldn't be so difficult if I could inject a type remapper when the bundle was built, or somehow remap that type when loading the bundle. But both seem impossible so that's fun.
ok I might have figured it out, need to test with a more full mod to make sure
What do you think the issue was/how full of a mod do you need for testing?
Ok it seems to work the way I'd like it to, but only mostly. So for now I think the only way you can actually build a plugin is to make a regular net project and have it copy the output dll into the project mods. Basically the same process you'd normally do to have normal asset bundles functional. The good side of that at least, is that it most mods won't need the extra slew of dlls to import as well, as I already have those set up in the project. The main downside is recompilation times with the dll copies, but you can still test normal scripts in editor when needed. So that's that for now 
This is also possible since I added support for in-project mods that aren't in the main assembly, so that's coolio

I don't think you can reasonably fix it btw @trail oriole but static meshes in scenes combine at build
so a lot of props in the basegame scenes are like stuck together
Got an example of what that looks like? Haven't seen it myself
yeah one moment
so i ripped the lethal assets and dragged them into my unity project and im getting these errors anyone know what im doing wrong?
wym you ripped lethal assets and dragged them
i dragged them into my unity project
from where
wym
i dragged these in
@humble ember im in https://discord.com/channels/1168655651455639582/1173405906818564187 rn
is there by any chance a way to use the mods from the folder of an r2modman profile?
uhhhh I've never used that before, but I assume it has the same format as the normal bepinex folder?
yeah
Maybe I can swap the toggle for the game folder to just some directory 🤔
Or have both and if the path is empty it defaults to the game
That's probably more beginner friendly anyhow
I'll see about adding that for ya soon
also super small (not sure if its fixable) but the exposed params for the diagetic mixer don't seem to have the correct names https://i.1a3.uk/1707874865.png
Do you know where the correct names are?
Top 4 would be PlayerVolume0, PlayerVolume1, PlayerVolume2, PlayerVolume3 and the bottom 4 i believe would be the pitch for each player, which'd be PlayerPitch0, PlayerPitch1, PlayerPitch2, PlayerPitch3
oh I wonder if UE would have em
not sure why the pitch parameters aren't being detected properly yet the volume ones are but 🤷♂️
seems like i cant expose any of https://i.1a3.uk/1707875693.png on the existing player voices https://i.1a3.uk/1707875613.png
Weird, obv exposing those wouldn't affect the real one in the steam version, but yeah I'll look into that at some point
The only annoying part about this is having to restart the editor to release loaded mod dlls... not much you can really do about that though
been a great tool
Fun fact about that, if the mods are in the editor in v0.4 (not in local or in the game's dir) then you can nuke them fine :) That's how you can now build your dlls from their external project into the editor, test, and rebuild to overwrite.

Another cool thing is that all of the normal plugin deps are already in the patched project
So you generally only have to copy over the one plugin dll instead of like 12
is any of this relevant if your using the basegame folders
whatcha mean
ohhhh is this in context of like dlls that need to be in unity itself for eg. custom scriptableobjects
Yeah if you want to build a plugin (and have assetbundles export properly), you basically have to copy it over from a normal C# project
ye but that's like what youve had to do already right
have assetbundles export properly?
How people already do it, yeah.
I now handle like 90% of the process on the editor side at least 
Oh yeah you'll probably want to be on the bleeding edge versions while using it for LLL stuff. 0.4 has the experimental posterization shader, supporting the in-editor mod dlls themselves, and bepinex being in the package itself so I can actually update it for people lmao.
where can i get that
https://github.com/nomnomab/lc-project-patcher/tree/v0.4.0 (you'll have to remove the older bepinex utility scripts in tools to support this version)
0.4 sounds crazy
The heck is that error lmao
idk but its not letting me play
You are playing from InitSceneLaunchOptions right
yeah
disabling use bepinex folder fixed it
let me know what you need
oh is it the unity adin thing
admin
ye
ok without admin still
(skip to main menu is off too)
it looks like even though im trying to play with bepinex folder and LLL is running, it's not finding the scripts lll loads
I guess I'll test the normal directories again, but I just do this since it's supported now.
yeah but i want to use my basegame folder
i want that because i want that, not because i can't do something else
(feel like that sounds rude but just being explicit about my intents here)

hm now that I think about it, if you have a mod in the project, and also in either the local/game bepinex folders I think it'll get loaded twice 🤔 (not saying that's your issue just realizing that might happen)
pain
i dont have the mod in the project
hm seems to run fine for me with the game's bepinex folder (and LLL + other stuff in it)
I don't get that error or that warning
rn ive
made new unity project
run tool in 0.4.0
skip main menu false
use bepinex folder
What mods are in the game's folder? Maybe one of them is causing issues somehow
whats this
Just how long it took the entire bepinex process to complete (loading plugins, extra stuff, custom injections, etc)
Looks like it can't find whatever the inpututils are
i just have these now, no more warnings and error looking things but its still not finding ExtendedLevel
do you have lethallevelloader in your unity project
For this test nope
I guess nuke the editor log, run it again, then throw the log in here so I can look at it. Since I have no idea what's happening
where can i get the log in a usable state
the core issue is that the bundle isn't finding the classes lethallevelloader has
go there, nuke its contents then press play. Should be good
cleared it and it isnt regenning
oh nvm
@trail oriole https://hastebin.com/share/moziwumewo.makefile
Hastebin is a free web-based pastebin service for storing and sharing text and code snippets with anyone. Get started now.
is it concerning that these are not in the order they should be in regards to dependencies?
nah I don't really have a way to determine that anyway, I just have the dlls. I wouldn't need that if it auto found dll dependencies anyway, but the editor breaks the auto find so I do what I must (since it scans from exe downward and whatnot). The bepinex deps are still intact since I run that after they are all grabbed anyway.
I was able to replicate it just by having the bundle outside the editor, but I swear that used to work fine. I haven't changed how it loads up the stuff
I'll have to look at it tomorrow since it's 1am though
Weirdly enough, was curious to see what would happen if you put mmhook, lethallib, and LLL into the editor into tools (with them still being in the game's dir as well). And well, it didn't give the 2nd warning about the level type without an asset, but it still had the missing script on the object. So what the hell is its problem 
Maybe it hates me
am I dumb or is it only not finding it for the first one
scene file != extendedlevel
Well yeah, but it's using the same exact type in the loop above it to even print that 🤔 So the type definitely exists, and is actively being used, and seems to be loaded from a bundle to even be able to print that log in the first place. But I could be wrong here, just looking at the code around where that log is on the repo.
yeah thats why im confused
the fact levellevelloader is doing stuff in the first place should prove that
Ok are we sure the bundle just isn't high?
It loads fine in game 🤔
Like even with the warning
Showed up on the terminal, I chose it, and loaded into it. And walked into the pyramid. So I'm confused lmao
oh frl?
That what seemed to be "missing" from that object
okie, well it seems fine unless there is a magical thing that exploded
playerinput ones?
huh went to try and load it in-editor again as I had it before and now it can't load into the moon list in the terminal at all. Aight
Is that right?
I still confused in these errors.
@spring eagle check the info messages and see if they contain anything from the output. Also what version are you on? Could also send the whole log over
@humble ember that warning about the GameObject '' also happens in the normal game as well btw (with normal modded game). Also somehow in-editor (with in-editor bundles/libs/etc) RestoreVanillaLevelAssetReferences is getting null enemies, as spawnableEnemyWithRarity is sometimes null, so the .enemyType check throws. Not sure if this is a me thing or a thing about bundles sometimes?
Yeah I have no idea what happened but I straight up can't even load LLL anymore in the terminal even when I revert back to the working project
The hell got touched

I do be using .Destroy
@trail oriole So I'm trying to test my LLL mod with your tool how do I do that?
@trail oriole any chance I need to be more explicit in my destroy calls incase it’s calling editor variants somehow? Or is it a fundamental issue
I got it
I have no idea tbh. I even added a patch to check if a destroy was trying to destroy an asset, and not do that. But it didn't change the enemies still being null. I might just need to clone LLL and poke it so I can see what issue it actually is.
Seems like you are just clearing out the old asset and replacing with a new one, and nuking the old one so it doesn't stick around. Although, if they aren't instances, why even destroy them I wonder. (No idea what else you do to them obv)

which publicizer do you use
Oh I see you use this one
oh true
You use it in a few places to access m_Prefabs and stuff
ahh right
Although it doesn't seem to be doing its job
Unless I am missing an operation with it
(never used this one)
Even their readme looks quite plug-n-play with what you already have, so I dunno
Ah had to add a <Publicize Include="Unity.Netcode.Runtime" />
@trail oriole no stress on it just keeping myself up to speed, using bepinex folders will cause a problem if i have the same dll in the project too right?
you don't check for doubles and/or still check the project folders with that option enabled
I don't check for duplicates atm yeah. Not really sure what it would do
👍
am I high
I added a check for it above
how the hell is it null after 
oh wait it's the to string function as well
@humble ember somehow enemies are null in experimentation...?
is this because of what im doing or because your not accounting for some bepinex config stuff
what line is failing
Oh btw @trail oriole a few of the Audio reverb triggers in the vanilla maps were missing stuff when I ripped, had to dig and figure out how they worked so I can fix them for my level
insideEnemiesOverrides = BindValue("Inside Enemies Spawning List", "Add To Or Override The Inside Enemy Spawn Pool. (Minimum: 0, Maximum: 100)", SpawnableEnemiesWithRaritiesToString(selectableLevel.Enemies));
There are null enemies in that list of level enemies
I used 0.3.0 , don't know if you ended up catching that after
am i somehow destroying the real references while its being used in unity?
This is even with my block so you can't even destroy assets
I have no idea what is going on
blocks all of them so the assets should still be around
Ye
i feel like you might be solving the wrong problem?
I don't try and destroy base game assets
Like you shouldn't be catching anything
I know, this just removes the error and makes it a warning instead + doesn't actually try to in the first place. It's not so much a fix for your thing
Just used it to see if this was the issue
(and it isn't)
well i dont know
huh
what if i am correctly destroying the ones in the assetbundles, which has somehow been merged with the ones in the assetdatabase
like you might be catching the direct destroy attempt but not the indirect one
oh actually
@trail oriole is it possible you trying to run this before your catch safeguard just fucked up your rip?
like does experimentation still have nulls when you dont play
Yeah
yup
would be cool if you had a manifest of all the files ripped so ripping again could potentially just like bring back/update the ones your missing
or smth
or re-rip certain types
Not sure what you are referring to here with the triggers, can you expand upon that? Like what stuff is missing
@rugged sentinel did you try running lethal level loader in unity editor
like at any point
anything that isn't c# i dont really know or have any love for
Ah, someone has an issue with having .net 8 and still being unable to run asset ripper for some reason.
And I have no idea how to assist with it 
Yeah I think so but I couldn't get anything to work in the editor as far as testing my map I just went back and forth with r2
yeah thats why
current unity assetripper has an issue with .Destroy
running LLL destroys assetrip assets
A buddy of mine that I'm working on mods with had the exact same issue
He couldn't rip anything
Was he able to fix it? I have no idea what is missing (the link was not very helpful in saying what it was either)
Nah we haven't had a jam sesh in a bit we were going to try again later
Ah okay
Sorry I couldn't be more helpful just wanted to let you know it's not some one off thing
No worries, just annoying that I have what is missing, I don't know what it is, so I can't test for it 
New rip and somehow the default enemy list is smaller than what I had before lmao, the heck
Ok they no longer get nuked
IT WORKS AGAIN
Jesus christ
Wasted a whole day on this 
Like I had the destroy guard yesterday
All day today was trying to see if my thing was broken lmao
(it in fact was not broken
)
sorry about that
All good, don't know why I didn't think to just check the level
the one last piece of the pie to get devving fairly nice is the checking/ignoring duplicate dlls and/or ignoring the project folders if use bepinex is enabled
Might add a toggle for that since some people might want to test some custom plugin in-editor alongside the game stuff. Generally you'd want everything in the editor (since that's mainly the preferred approach), but I'll handle this other case as much as I can.