#[WIP] Unity AssetRipper / Fixer

1 messages Β· Page 3 of 1

humble ember
#

yeah

#

maybe even an enum for SearchPluginLocations { Project, Basegame, All }

trail oriole
#

True

humble ember
#

😭 atleast im stresstesting the fuck outta you

#

if you can dodge a wrench..

humble ember
#

btw is anything going to explode if im moving a dll into the project via a postbuildevent

rugged sentinel
#

Nobody makes @trail oriole bleed his own blood

trail oriole
#

Depends on if they get loaded directly. Plugins in-project in /Mods/ are fine to remove/overwrite/etc

humble ember
#

cool, this isnt even a bepin plugin so

trail oriole
#

Plugins outside of the project are locked forever (until unity is reloaded)

#

One of the benefits of using the editor anyhow. Not super sure about non-plugins in editor and what happens to them

humble ember
#

it seems to be going well

trail oriole
#

That's good

trail oriole
humble ember
#

i already got quick scene menuitems ported over from my shitty plugin

trail oriole
#

I can't exclude plugins from bepinex, but I can exclude plugins from the editor since I have to inject those with a patch

#

So it'll probably just be a toggle

humble ember
#

you can't exclude plugins from the basegame folder?

trail oriole
#

from here, no

humble ember
#

but isnt it already excluded if you have that one bool turned off

trail oriole
#

No that uses the local bepinex directory next to your project

#

Just saying you can't exclude plugins from those directories

humble ember
trail oriole
humble ember
#

To explain my intended usecase a little

#

all the mods I want loaded when I hit play I want to be in my basegame folder, for 1:1 testing parity

but I also need lethallevelloader, lethaltoolkit, monomod hook in the project itself to develop w/ lethallevelloaders custom scriptableobjects and such

trail oriole
#

Makes sense

humble ember
#

so i don't want the plugins i have in the project to be loaded

trail oriole
#

Yeah I'll just add a toggle for that and it should work fine (hopefully)

#

We shall see

humble ember
#

thank you

#

sorry for throwing you so many issues btw. ik it's like good but from my experience in devving LLL i know it can just kinda feel sucky sometimes

trail oriole
#

It's all good stuff so no worries

tulip widget
#

Nomnom, blink twice if your trapped

trail oriole
#

hm it seems I actually can't exclude the one in the editor either

#

I think loading an assembly checks the main project if it already exists or something

#

Since it always prioritizes the one in the editor

#

odd

humble ember
#

can you somehow patch harmony, check the assembly location and bail out early?

trail oriole
#

atm I don't know if it's just a thing NET does, or if it's from the plugin loader yet

#

pain

spring eagle
trail oriole
#

hm my stuff is basically what you have (yours is newer but basically the same). So not really sure what .NET prerequisites you could be missing somehow πŸ€”

#

You know I wonder

#

What happens if you run the exe directly through a terminal?

[Project Name]\Library\PackageCache\[com.nomnom.lc-patcher@version]\Editor\Libs\AssetRipper~\AssetRipper.Tools.SystemTester.exe
#

Or even just opening it

trail oriole
#

I don't get what the prerequisites are dead

trail oriole
#

Just tried with your version of net 8 and it worked fine still for me. Does someone else know more about .NET things here?

tulip widget
#

@humble ember Is it possible to test my moon without building the asset bundles

humble ember
#

no

tulip widget
#

Danm

sand thistle
#

not sure if you figured out a way to get the game's actual posterization shader working yet, i have a kind of scuffed way that works

#

essentially:

  • Open the game's files with AssetsTools.NET, and extract the posterization shader's AssetTypeValueField
  • Open an assetbundle with a dummy shader
  • Replace dummy shader with posterization shader
  • write assetbundle
  • at runtime, load the assetbundle and use the shader in a custom pass
#

the shader - as far as i can tell - works perfectly as normal
you do need to have the same material properties though (including some invisible ones, it showed up as fully black until I did posterizationMaterial.shader = x;)
i can write up a more detailed poc/PR something if it would be helpful

trail oriole
#

Oh damn, yeah if you could write a more detailed poc that would be great (so I don't do a step wrong lmao).

#

Wonder if the steps could be done for the other shaders, like the blob

sand thistle
#

As far as I know it'll only work in play mode though, maybe I'll try making it work in editor but idk how assetbundle-loaded shaders are handled in that context

#

I don't think the game has too many custom shaders

trail oriole
#

It's like four or somethin

#

ok I was close

sand thistle
#

are there any others that have been causing you trouble besides the poster/blob

trail oriole
#

less anal picture

#

Basically none of the SG ones exist in editor for us

#

That's about it though

#

I think the single FlyingBugs VFX asset is also borked, but that's more of an actual asset issue

#

Damn been using the patched project to update turret key, and man it's great

humble ember
#

@trail oriole @naive steppe and a few others wanted to help in LLL documentation and stuff, is the destroy safeguard publicly available?

trail oriole
#

Also made one for the resources findall one

#

Although the resources one may be a misjudgement of how it worked since it acts differently than I thought in a build

humble ember
#

πŸ‘€

trail oriole
#

Was getting an audioclip from the game, and it wasn't working in the editor so I thought it wasn't able to work there. But in a build it doesn't get it either, so I assume it's because it wasn't loaded yet?

#

@humble ember is there a common way to get an audioclip from any point in time? I assume there isn't just a list of them in some object somewhere

humble ember
#

nope

#

Gotta find a reference to it

trail oriole
#

feck

#

Ah I'm dumb, I can just grab the clip from the key I already have

#

It's in the item props!

#

we cookin

#

Yeah that destroy guard above works absolute wonders

#

I wonder if it should disable components that come through it

#

Probably, just a simple

if (obj is MonoBehaviour monoBehaviour) {
    monoBehaviour.enabled = false;
}
humble ember
#

uhh

#

idk

#

monobehaviours wont have issues

#

in theory you should actually let them through

trail oriole
#

Well like some mods may destroy a component on a thing, like my giant does that so I can add my own physics prop (this is before I knew the whole plugin-in-unity pipeline so that's why this is here)

humble ember
#

ok fair prefab related stuff might be relevant

#

little concerned that some mods wont handle this half measure well though

#

in general

trail oriole
#

Maybe yeah. Like GetComponent would still get the disabled one

#

Unsure

humble ember
#

i say that not having a solution though

#

oh even the destroy blocking in general i mean

#

like i do destroy stuff for a reason

trail oriole
#

It's probably fine tbh, editor will be nearly 1:1 with the game but it may have some places like this where it can differ so the project doesn't get bricked LMAOO

humble ember
#

yeee but with certain mods itll break

naive steppe
humble ember
#

cuz i destroy stuff to prevent issues with other mods

trail oriole
#

It was for the resources.loadall thing right?

humble ember
#

yessir

#

but i could see other issues coming up

#

in other circumstances

trail oriole
#

Wost case we can patch the edge cases with some different logic if needed. Like if a mod does the loadall, could patch so it doesn't allow for blacklisted assets to get grabbed. Example obv, but stuff like that is doable to an extent.

humble ember
#

mhmm

#

itm ight be worth looking into

#

destroy should be fine to use i thought

trail oriole
#

Yeah destroy just prints an error and doesn't nuke the asset by default (so my thing just converts that into a warning instead), but destroyimmediate will nuke the asset from orbit.

#

So goofy

#

Although

#

It defaults to false, so why is it still killing it lmao

trail oriole
#

There is also a new pass to patch the quality settings, but it isn't that important

naive steppe
#

Copy that 🫑

trail oriole
#

Pushed stuff like auto loading into a moon, skipping intro/main menu, loading save and/or resetting it, etc

trail oriole
#

grouping it a lil better

trail oriole
#

Cool, pushed that

tulip widget
#

When will 0.4 be out to main

trail oriole
#

Probably tomorrow

tulip widget
#

Let's go

spring eagle
#

I think I have already solved that problem.

It seems that the x64 version of SDK did not appear in the correct folder.

trail oriole
#

Oh?

#

User error? Or the installer went bananas

royal inlet
#

alright first time ive ever used the tool what did i do wrong :p

trail oriole
#

huh is my AR exception messaging thing not in that, is this from the main branch?

royal inlet
#

newest branch yeah

trail oriole
#

Ok grab 0.4 and see if it still errors

royal inlet
#

unless i did a fucky wucky somewhere

#

where's 4.0

trail oriole
#

Append #v0.4.0 to the git link to install it

royal inlet
#

like this?

trail oriole
#

Yep

royal inlet
#

do i need to remove the previous package or will it overwrite

trail oriole
#

Not actually sure tbh

royal inlet
#

ill remove then

trail oriole
#

I would think it would override it

#

But who knows LMAOO

royal inlet
#

oh wait

#

theres an update prompt

#

oh it didnt do anything

#

ty unity

trail oriole
royal inlet
#

oh my .net isnt updated apparently

#

might be why it failed last time

#

'cause i have it, just not 8.0

trail oriole
#

Could be, you need .net 8. In the main version it would put the error in the info messages, but in 0.4 it emits the actual error string

#

It's in the requirements dontfeelsowaaaaaaa

royal inlet
#

i forgot which one i had

trail oriole
#

I really wish I could easily check for that for the user, but I kinda can't

royal inlet
#

i just downloaded net like last year

#

so i figured i wouldve had 8

#

NOOO guess not

trail oriole
#

rip

#

tbh I might just merge 0.4 into main now

#

Been using it all day, been good for me at least

trail oriole
#

If it breaks blame Starlancer heheheh

naive steppe
#

Plenty of people have blamed my mods for breaking stuff already 🀭

humble ember
#

i love when discord is super scrolled up with no indication

trail oriole
#

It do be like that pensivewobble

royal inlet
#

get scrolled PepeLaugh3D

trail oriole
#

There we go, it's on main now

#

I should probably do more incremental commits anyway

naive steppe
#

I haven't gotten around to updating to 0.4 before this anyhow, since I've been looking at AI code most of my computer time today lol

trail oriole
#

Oh right I didn't put this in the readme

If you have 0.3 and go to 0.4 you need to remove the utility scripts from tools/bepinex

tulip widget
royal inlet
#

am i supposed to expect this

#

this is upon first restart

#

'cause i know it says it'll restart multiple times

#

i dunno if its like in the middle of its tthing and i just should ignore andlet it keep going

trail oriole
#

uhhhh

#

I guess ignore and see what it says

#

You shouldn't be getting that

royal inlet
#

ftr I have the UAS DunGen implemented

trail oriole
#

That's fine

royal inlet
#

just additional info

trail oriole
#

ye

royal inlet
#

oh

#

wait

#

i forgot to move it

#

i think

trail oriole
#

That would do it

royal inlet
#

i'll let it finish and see how it goes

#

i've already removed the old dungen stuff from other projects so i know what to get rid of

trail oriole
#

If it isn't in the assetsstore folder then it wouldn't have removed the ones from the rip so the dungen guids will all be broken + duplicate scripts

royal inlet
#

good to know for FAQs

trail oriole
#

also 0.4 is on main now so you don't need to be on the branch anymore

royal inlet
#

noice

trail oriole
#

I literally just did that LMAOO

royal inlet
#

alright let me try from scratch and not be an idiot

trail oriole
#

gg

royal inlet
#

deleting the uas dungen seemed to be ok but i think some stuff was a little bork

#

so im not gunna take risks

tulip widget
#

Dungen is borked a bit when loaded

#

All you have to do is add 2 references to unity ai tho

trail oriole
#

what do you mean?

royal inlet
#

something to note - which might be what they're talking about

#

for DunGen UAS you need to implement the Unity NavMesh under the integration folder

#

for it to run properly with LC

trail oriole
#

The tool does that

royal inlet
#

ah okay

tulip widget
trail oriole
#

I ran it on an empty project yesterday and it had no issues with references with the dungen asset in the assetstore folder. The tool installs all dependencies, including the ai one, and imports the package from dungen for you after.

tulip widget
#

Must be on an mis-matched version of dungen idc really

trail oriole
#

When you get things like that show me so I can see if it's an actual issue, a user issue, or needs an FAQ entry.

tulip widget
#

It's just a skill issue and no one has ever had the same issue

trail oriole
royal inlet
#

yeah this is all i got after a fresh install

#

otherwise everything seems good

trail oriole
#

Nice, yeah that's all fine

royal inlet
#

very nice, very impresive

#

does the tool also consider Terrain2Mesh?

#

or just dungen for now

trail oriole
#

It's in the project, but not really sure what it is supposed to be for

royal inlet
#

Terrain2Mesh is because Unity Terrain is a fucking mess

#

and really unoptimal to work with

#

collider sizes, decals, navmesh, etc is just better handled on a Mesh as opposed to Terrain

#

so Terrain2Mesh is a plugin we can use to export any terrain to a mesh while customizing colliders, exporting splatmaps etc

#

extreeeemely useful

trail oriole
#

Ah, well all the terrains that got exported are meshes already I think

royal inlet
#

aye

tulip widget
#

Hey nomnom, what do you think would be balanced power level for a P ranked moon

royal inlet
#

but for people who wanna make moons it'll definitely be a recommended thing, similar to DunGen, to use

trail oriole
#

I have no idea

tulip widget
#

Double the power level, double the fun

sand thistle
#

apparently you can build assetbundles using assets in packages

#

which makes sense but i have never tried that

#

like directly in packages

trail oriole
#

what in tarnation

#

I can't wait to read these hacky findings lmao

sand thistle
#

this shit is probably gonna be pretty fucked

#

i will make a draft PR once i have something workable

trail oriole
#

Sure

royal inlet
#

oh wait nice terrain2mesh install didnt actually break anything

#

i guess the rip doesnt actually include anything from it

trail oriole
royal inlet
#

painge

#

i wanted to see if the rip fixed a bunch of the combined meshes

trail oriole
#

oh speaking of which, @humble ember never showed me an example of that >:(

royal inlet
#

the casette recorder model for DataLogs is under Combined Mesh 17 and its still broken pepe_cry

royal inlet
#

def not the correct mesh unity is telling me it is

trail oriole
#

lol what the heck

#

what was the reason for this again? Are they probuilder meshes that got made at runtime or something? Don't remember what batby said about those combined things

#

Probably not much I can do about them either way, but curious

royal inlet
#

im not actually use, generally ProBuilder doesnt name them as "combined mesh"

humble ember
#

its unity

#

because the scenes are static it combines static meshes for optimisation iirc

royal inlet
#

yeah cause Pro Builder assumes the name of the parent combined object

#

so if you make an object from say a Cube primitive, do all your shit, combine everything from arches and stairs up to a cube, it'll export as Cube

#

thats why when you search for Cube under meshes

#

theres like

#

500000000 cubes

trail oriole
#

lmao

#

Yeah sadly the patched project won't be at 100% parity with the game, but it's quite fricken close for what it is at least

#

Still need to fix some audio mixer param names and some ui things

#

Just been super busy LMAOO

royal inlet
#

i mean i guess it doesnt.. move..

#

but it is interactable

trail oriole
#

Well it never moves

#

Yeah

#

It just has a box on it to interact with

humble ember
#

it being turned off/not existing doesnt mean its moving

royal inlet
#

yeah

#

i know that

trail oriole
#

Yeah it just disables the renderers lol

royal inlet
#

yeah cheaper than destroying the object

#

iirc its really bad to destroy/create

#

vs draw/nodraw

trail oriole
#

most cases it really doesn't matter LUL

royal inlet
#

i meant like in a vacuum

#

if you had the option to do either

#

just turn off the draw

trail oriole
#

For small things, one-off things, even a few a frame is generally fine depending on their total size, but like a bullet hell? Definitely will have problems, so you'd look into pooling.

royal inlet
#

right

trail oriole
#

I'm now at the stage where I can test my editor tooling with new custom mods. Exciting

royal inlet
#

i love LODs..

#

lmfao

trail oriole
#

Tree -> Stick heheheh

naive steppe
#

@trail oriole did you remove the posterization shader option in 0.4? Or was that never part of a public branch?

naive steppe
#

oh derp, ty

trail oriole
#

Ye

royal inlet
#

is there a known water shader error or

naive steppe
#

@trail oriole prepped a brand new project to go through the setup process, we eatin' good

naive steppe
sand thistle
#

i'm working on a solution but i still haven't tested if it works in-editor
play mode only atm

trail oriole
naive steppe
#

I'll keep you in the loop! :3

heavy marten
#

Sorry if I haven't posted anything related to shaders atm... I'm currently working on a big project on my own but I will go back at it this weekend!!!

naive steppe
#

Encountered an interesting issue while helping someone trying to install some packages from git url

#

apparently having the drive your project is on formatted to exFAT completely breaks git package installation in unity

trail oriole
#

lmao wtf

naive steppe
#

Yea, so if you ever have someone complain that they can't install it, that's a thing to check 🀭

trail oriole
royal inlet
#

so i fully imported terrain2mesh and ive never seen these sort of errors before

#

i dont even know where to start lmao

#

definitely not the same errors i had in evas template

trail oriole
#

Is that an asset or somethin?

royal inlet
#

yeah its the thing i mentioned - zeeks uses it to convert unity terrain into a mesh

#

cause unity terrain is a mess

trail oriole
#

Ah it's paid, I see

royal inlet
#

ooo

#

the assetrip fix gives us the proper navigation values

trail oriole
#

:)

royal inlet
#

i love hdrp so much

thick portal
sand thistle
#

i would love for some people to test this

#

https://github.com/legoandmars/lc-project-patcher.git#custom-shader-support
you will have to re-extract

trail oriole
#

I will check this out tomorrow πŸ‘

trail oriole
#

@humble ember found a situation with skipping the intro and not all bundles being loaded yet causing the rest of the bundles to never load. Maybe instead of putting the coroutine onto the preinitscript, you make a new DDOL obj just for that task, then destroy it after? Since if the loading takes too long, and the preinitscript unloads, it nukes all coroutines that were attached to it, so it never finishes.

trail oriole
#

Did a quick test case and this lets them load in perfectly if the intro is skipped (haven't tested with a bunch of them obv). But you'll know more about how to approach that on your end probably.

trail oriole
#

@humble ember btw is above a bug if intro is skipped? I didn't see anything that picked the loader back up, so I assume it's a bug. Putting the coroutines on a DDOL obj that loads on the side works well for editor-usage, otherwise they never load if preinitscript gets destroyed before completion (since they get disposed before loading).

#

Also work sprint starts today so I'll have less time to work on this for a bit. Will have to do so before bed probably, or when I have breaks sweat Pain. Still need to look at the shaders PR, just haven't had time dead

humble ember
#

I haven’t looked into yet, sorry!

trail oriole
#

No worries! Good to know you are aware of it at least haha, no rush though. My temp patch works fine for what I need for now.

tranquil hare
#

This might be related to the asset deletion thing from before, but do you know of a way to prevent or rollback runtime changes to mono behavior assets? Mods that add items to the unlockables list through the StartOfRound instance for example will permanently change the 0_Unlockables asset in the editor

#

Sorry if you had already talked about this. Been focused elsewhere for a bit

trail oriole
#

The editor is annoying like that, so you can't rollback or disable the asset modifications. Would need some kind of snapshot system, but then that would need an entire pass to rehook up cloned versions of them or something when the game loads. And then you couldn't poke the SOs during play mode so it's kinda annoying there too.

tranquil hare
#

Ah that sucks

trail oriole
#

Or you'd have to clone everything at the tool-level and recopy over each time play mode ends, which is also horrible

tranquil hare
#

Yeah that might be too much lmao

#

What about a manual button to recopy just those in case they get screwed up?

humble ember
trail oriole
#

Maybe, but then you can't play around with in-game stuff without it getting replaced each time you stop playing. I guess there could be a button to copy over the patched SOs/prefabs from the ripper folder (since you can keep that around), and if I remember right I patch those in that folder before copying them over (?). I'd have to check.

humble ember
#

Not being able to do that sounds like intended behaviour?

trail oriole
#

I poke the existing stuff a lot to play with things, like if I want a moon no never have fog so I can test stuff without being blind, I can change the default weather on its SO. It's a limitation I'd rather not impose if not needed, would be better as an optional thing imo.

#

I was also correct, I patch the stuff in the AR folder

#

So that button might just work ℒ️

#

Would probably have to do these two steps

humble ember
#

u cache before play not after rip

trail oriole
#

Guess we'd have to see how much time that would add onto the time when hitting play. Could cache each SO by guid in its json format then deserialise when the game ends. Issue with that would be if the editor crashes, the assets wouldn't revert hmm.

humble ember
#

Oh actually im dumb

#

Make backup on rip. On asset reload check if any changes were made, if so update backup. on play exit replace any modified with the backup

#

way leas thinhs 2do

forest magnet
#

maybe can do it with git cli

tiny gorge
#

any idea why the dropship came out like this in the assetrip?

#

poor little light is inside of the thing

trail oriole
#

The ripper does a few oddities with rips (especially with static stuff). So not sure why that's inside the mesh. It's a part of the base mesh, so maybe it was merged when ripped when it isn't supposed to be? Unsure, I'd have to check UE to see if it's a second mesh or not with the steam version.

tiny gorge
#

Any next steps on my end? for now I might just grab the model from my old project and swap it in for my custom moon

trail oriole
#

Not sure what you mean by next steps, if its merged with the ripped model there is nothing I can do about it LUL So using your old model sounds fine.

hollow bobcat
#

sorry if this is obvious, but I'm having a hard time finding an explanation on how to use the Ripper πŸ˜…

trail oriole
#

Not much you have to do tbh

trail oriole
#

Wait actually @tiny gorge

#

This is in the steam release

#

It's broken there too LUL

trail oriole
#

I will try that out when I get a chance πŸ‘οΈ

tiny gorge
#

because I do remember seeing that light on top before

trail oriole
#

I think Zeekers broke it

tiny gorge
#

yeah I guess so

trail oriole
#

Yeah there is supposed to be one there

tiny gorge
#

how did he even manage that?

trail oriole
#

Maybe his model got modified and he doesn't know

tiny gorge
#

maybe he fucked it up when trying to go from the christmas version back to the normal one actually?

#

cuz it had a star on top

trail oriole
#

Probably

tiny gorge
#

so he probably just pushed the top part of the mesh down to put the star and didn't bother to pull it back up

#

thats funny

#

alright fair enough

trail oriole
#

@sand thistle btw at some point this week I will try and look over your PR sweat

sand thistle
#

i still am not sure how stable it is

#

but i think it's stable!

trail oriole
#

From your steps and notes it seems like it is, the part about it doing the replacement on a save worries me slightly. But we shall see

sand thistle
#

if you run into any issues lmk

trail oriole
#

Yeah for sure

trail oriole
tranquil hare
#

oh nice

trail oriole
#

And my destroy patch blocks asset destruction

#

So this should just work ℒ️

rugged sentinel
#

is there a way I can fix these missing keyed animations?

#

This is directly ripped from a vanilla map, all the maps show these things as missing

trail oriole
#

Not yet πŸ’€ I did a proof of concept for a part of the intro boot sequence near the start of this tool, but I haven't gotten around to fixing more animations yet (it's very tedious to fix the different variants of what it needs to be vs what it ripped as LMAOO )

trail oriole
tranquil hare
#

Which reminds me that someone had a fork of assetripper to fix the pptrCurve animations, but I can't seem to find it

#

yeah sure

trail oriole
#

That's the only thing that module does atm lul

tranquil hare
#

also my earlier suspicion was right on the first keyframe being lost

trail oriole
#

oof

tranquil hare
#

but it should be easily recoverable. The pptrMapping still should have all of the frames, it's just not in the curve data

trail oriole
#

Yeah I have that fixed, just not in the steps yet. Other animation types didn't get fixed with it so I commented it out for now LUL

tranquil hare
#

Alright just tried out the snippet

trail oriole
tranquil hare
#

1sec

#

gotta restart unity it's acting up lol

#

rather than me trying to explain it, which I'm terrible at, here's a clip

#

The only mod loaded is the ship window mod that I have been working on, it adds a switch to control the shutter as a placable item, basically a copy of the light switch, to the unlockables list

#

it's not reverted upon ending playmode, but manual changes are

#

ex in clip

trail oriole
#

I cri

#

When they modify it, does it flag a warning on exit?

#

(if it blocks it prints a warning per asset)

tranquil hare
#

It does print the warning yeah

trail oriole
#

hmm

#

Can you link me the mod and where to look

#

I'll try it on my end

tranquil hare
trail oriole
#

huh I guess from-code changes don't get flagged as modifications dead

tranquil hare
trail oriole
#

Well crap

tranquil hare
#

So close

humble ember
#

hey @trail oriole

#

quick question

humble ember
#

since the issue was with scriptableobjects

#

those r like

#

files

#

i wonder if you can just make them read only when you hit play

#

on like an os level

trail oriole
#

inb4 unity crashes LMAOO

tranquil hare
#

about to try LOL

#

I think unity just unmarked it

#

that or replaced it entirely

trail oriole
#

How dare it

trail oriole
#

We found its limitations Skull

sand thistle
#

do runtime SO changes still work?

#

they just don't serialize?

trail oriole
#

Changing assets from code doesn't get flagged as modifications

#

god speed

#

Gonna try this heh

tranquil hare
#

o7

humble ember
#

were still fine to change them outside of play mode right

trail oriole
#

Yeah

humble ember
#

sickkk

#

cuz LLL just does so.name checks to replace assetrip content with the real stuff at runtime im working on a thing that replaces assetrip content with like empty so's before build and fixing it after build

#

so you don't bundle a bunch of useless stuff

sand thistle
#

xyonico the goat

trail oriole
#

Reloading everything was a mistake

#

It's still going

tranquil hare
#

πŸ˜…

trail oriole
#

Tried a smaller version and it works kinda. The list gets reverted by the scene turns blue and the input system has a stroke.

#

Progress

#

Still takes longer than I'd like :/

#

Parallel import makes it super quick Huh

tranquil hare
#

Faster than I thought it would be

trail oriole
tranquil hare
#

With that it's hardly anything

#

Very nice

trail oriole
#

(and to make it faster turn on parallel imports)

trail oriole
#

@humble ember know off the top of your head why it would show up fine here, but throws an error in the terminal with a null node? My experimental patch for the loading is off, I wait in the intro for it to load, and nothing else modifies the terminal πŸ€”

humble ember
#

can i see a log

trail oriole
#

I did notice this loading into the ship just now

#

Can't fuckin type

#

wtf there is a null enemy again somehow

#

HOW

#

Seems to be an added one at the end Thonk

#

Ok now there are no null enemies

#

Ok somehow an item got malformed asset-wise, had to do a copy to fix it

#

Works now dead Need to do more testing on when these modifications happen

#

Pain

trail oriole
#

(apologies for mentioning you in errors I didn't realize I was causing)

#

As a fallback so I don't have to deal with this crap again

humble ember
#

heads up sorry for not responding, reading everything just brain brrring while trying to knock out a bunch of small tasks

trail oriole
#

All good, ended up being asset stuff since I was in a flux of weird states due to my tool tests

#

Between this SO revert post process, and the auto-level fixer on boot, I don't get any more missing issues anymore with LLL stuff/other mods that affect the assets

#

I still have to use the preinitscript patch so I can actually skip through the intro/main menu and keep loading the custom moons but that's fine for now

dull furnace
#

not sure if this has been fixed yet, or if there's anything that can be done about it, but it looks like if I attach a debugger to a the running game in the editor, it causes the Harmony patches not to be undone upon stopping

#

I'm on 0.3.0 still so I do need to update, it's possible this isn't a thing anymore

#

actually, correction, I thought it worked if you connected while it wasn't running, but even that seems to bork my Harmony transpiler somehow

dull furnace
#

ahh, wait, it may be because it changes the compiled IL

#

yep that was the issue, never mind

trail oriole
#

Adding some stuff at some point today

tranquil hare
leaden berry
#

i noticed it in that video and remembered this

tranquil hare
#

Yeah, guess it has some issues there

#

Quite a lot of images/sprites are just completely borked, wrong size, etc

leaden berry
#

Idk if this code is related but its in the sprite processor for asset ripper

humble ember
#

@trail oriole is there a clean way to like rerip

#

like if i just run the tool again will it correctly replace everything

#

without destroying assets in eg. Unity/AssetStore, LethalCompany/Mods, LethalCompany/Tools etc

trail oriole
#

Never tested it, so I assume it would explode lol

humble ember
#

😦

#

it would be very convenient if that worked

#

eg. because of that issue with LLL and .Destroy some of my rip is destroyed

#

so i wanted to just run it again

trail oriole
#

I don't think it'll work since I nuke the scripts + so folder so I don't get a possibility of duplicates, so I'll probably have to test without doing that and see if it uses the stuff in the project properly πŸ€” There was something anal about the guid patching that made me delete the scripts folder as well, but I don't remember what it was atm. I'm waiting for veri to test out my SO guards before I push those out, which will solve the modification issues in the future at least.

#

Although I think the assets in the ripper output are patched properly before being auto-deleted to save space. Maybe worst case if those are fine at the end, you keep the output alive and you can press a button to re-copy over?

humble ember
#

eg. rip once

then on future rips it empties out the folders in /Game/ and restores that

#

ideally it would check if theres even any differences between the rip file and the preexisting file via some file comparison but not needed for this usecase

#

i just wanna restore my rip without damaging the custom content i have in the project

tranquil hare
#

The only "gotcha" I can really think of is editing an asset without saving the project and hitting play, making you lose the "unsaved" changes

#

That will just have to be something to be aware of probably

dull furnace
#

I really gotta thank you all for this project, it's helping so much with testing async pathfinding being able to see the debug lines

#

plus free cam following the brackens

naive steppe
dull furnace
#

once you start the game you can navigate around the world in the scene view

naive steppe
#

ohhhhhhhhhh of course, ty

dull furnace
#

I'm looking at this thread to see if there's some way I can use the Burst compiler in PathfindingLagFix, and I wonder, is it possible for me to build my assembly from the Unity editor so that it can do the necessary steps to enable it?

#

I'm a bit of a novice with the editor tbh, sorry if this is something fairly obvious

#

not sure if there's any documentation on generating BepInEx plugins from within the editor

trail oriole
#

Sadly, you can't make one from the editor, that's one of the limitations, since to build the dll it would need an asmdef. But asmdefs can't access any of the game code, so plugins that need to be built, or need access to bundles, have to be built externally and copied over.

dull furnace
#

ah, hmm

#

but would it be possible to have an in-editor assembly that I can call into using only unity types?

#

that would be quite a pain, but possibly worth it from what I'm reading about jobs in unity

trail oriole
#

Sure, as long as you don't need anything LC-related, or dungen-related, you can do that yeah

dull furnace
#

I'll have to look into that later then

#

jobs are forced to use malloc'd arrays, but the C# interface is supposedly incredibly slow

trail oriole
#

Adding

  • a menu item to open the runtime settings SO
  • some extra buttons to re-run some inner parts of some steps via the tool
  • a patch to clean out null level data
  • a patch to put coroutines that are on preinitscript to run outside of it in case the user skips the intro
  • the SO save-blocker
  • a time-of-day cheat.
trail oriole
#

Pushed em

trail oriole
#

Will put the thing batby wanted next on my list

humble ember
#

youve been cooking like a goat my friend

naive steppe
trail oriole
#

Added a patch step/button to assign the proper render pipeline if missing

tiny gorge
#

gonna repost this here

#

this is from my dms with batby, apparently this is an issue with the .Destroy command and how it plays with the in editor tools

trail oriole
#

What version is that from, as I have fixes for that in the latest version

tiny gorge
#

I'll try hitting this update button on the package manager page

trail oriole
#

The latest is 0.4.4

tiny gorge
#

yep, updating to latest has seemed to solve the issue

#

my bad I should've tried that first lmao

#

ty though this tool is really really nice

trail oriole
#

No worries!

humble ember
#

also

#

gonna be awful here, you dont need to do this anytime soon

#

i did notice the combined meshes seemingly do have their uncombined meshes stored as submeshes

trail oriole
#

Got a visual example of that?

#

(so I know what we are looking at)

humble ember
#

yeah one sec

#

ok so this simpsons lookin ass prop on vow

#

unity combines them all into one for optimisation but looks like data wise they are still grouped by how they were seperate

trail oriole
#

Ah I see. Fun

humble ember
#

its very much not a priority

trail oriole
#

I should make a list at some point of things I need to look at

#

Oh right I need to look at the shader PR this weekend

#

I keep forgetting dead

humble ember
naive steppe
#

@trail oriole what's the purpose of the SO blocker?

trail oriole
#

It reverts serialized changes to most LC SOs when you exit play mode

naive steppe
#

So that messing with stuff at runtime doesn't actually change files?

trail oriole
#

Yep

naive steppe
#

Is that only for ripped SOs, or does that apply to ones we make ourselves?

trail oriole
#

Only the ones from the game

naive steppe
#

Sweet, ty for the info

trail oriole
#

(had to make it a bit specific in what it worked on otherwise the exit loading time was too long)

#

Oh I should also note that people can enable parallel imports to make that faster too

tranquil hare
trail oriole
#

4 days ago, yum

tranquil hare
#

did an export with that branch and had some nice results. Doesn't resolve missing script refs tho, ofc

trail oriole
#

πŸ‘οΈ

#

Can't wait for it to get merged then

#

~~Let someone else do the hard work for me ~~ Kappa

tranquil hare
#

real

trail oriole
#

@humble ember

humble ember
#

I SAID LOW PRIORITY

#

AH

#

"fuck you"

uncombines your mesh

#

@royal inlet

humble ember
#

i dont even know how that would work but

trail oriole
#

uhhhhhhhhhhhhhhhhhhhhhh not sure about that. Would require me to do scene asset scanning and I don't wanna right now waaaaajlfghdfsghjkfd

humble ember
#

that isn't the biggest problem i just don't know how you'd have like

#

reference to where the mesh is meant to be

#

yknow

#

youd need the distance from the submesh center in the combined mesh and the center of the combined mesh itself or something

trail oriole
#

Sounds tedious lmao

humble ember
#

cuz in the combined mesh it's inherently offset because theres space between the combined mesh center and where the submeshes actually are

#

which is "lost" in translation when you uncombine them

naive steppe
trail oriole
#

Doing what I can in my free time before bed LMAOO

naive steppe
#

Will it be yet another utility button for those who've already patched? 🀭

trail oriole
#

Yeah it probably won't be in the main patcher for a bit

#

(It will add a lot to the patch time)

naive steppe
#

kk, once it hits that's gonna be super helpful

trail oriole
#

Seems like a direct replacement won't work

trail oriole
humble ember
#

bruh

naive steppe
#

Gaht daym

trail oriole
#

Seems to muddy the uv and it starts warping, da fuq

trail oriole
#

Might need someone knowledgeable about meshes to assist with these uvs lmao

#

Something to do with pixel displacement and the new uvs

#

Okay I think I found a cheat for ones with mesh colliders

dull furnace
#

when updating the patcher and re-ripping, is it best to start from a fresh project?

trail oriole
#

Yeah depending on the update, you won't have to do a full re-rip (depending on what's needed). But until I figure out a way to have a 1:1 re-rip, yeah a fresh project is best. That part of it is still a work in progress πŸ™

dull furnace
#

NODDERS no worries

trail oriole
#

Considering each mesh is actually unique, I can just name them what they are in-scene to their new mesh asset

#

:)

clever steeple
trail oriole
#

Doing it on the filter itself just does it for that single object now

#

Doing it from the selected mesh instead will scan all levels for it (batch operation)

#

Probably won't have this as an automatic thing in the patcher steps, more of an opt-in to what you want to break apart

naive steppe
#

I think that's for the best, prevents unnecessary clutter

trail oriole
#

Probably good enough

trail oriole
#

Pushed it as 0.4.5

naive steppe
#

goat

tranquil hare
#

Wow, nice work

dull furnace
#

I've been wondering, it seems like creating materials from code like

new(Shader.Find("HDRP/Unlit"))
{
    name = "TileBoundsVisualizerMaterial",
    color = Color.yellow,
}

causes an unlit magenta material like this:

#

any idea the cause or if there's a way to avoid that?

naive steppe
#

The cause is that shader coding is the devil's domain

dull furnace
#

I figure that's probably the case actually lol

#

for some reason it seems like Find("HDRP/Unlit") finds a different instance of the shader than the one that every other unlit object in the project does

naive steppe
#

Maybe it needs a more specific path? (Just to be clear, I'm only spitballing ideas, I'm not codepilled enough in this regard)

dull furnace
#

ohh wait hmm

#

hold on

#

I think it's actually finding the ripped shader which is busted, rather than the one in the HDRP package

dull furnace
#

but presumably there shouldn't really be ripped copies of the HDRP shaders at all?

trail oriole
#

Oh did I not delete those lmao

#

Wait do I even copy that over

dull furnace
#

I would assume not, the path I'm seeing is .\Assets\LethalCompany\Game\Shaders\HDRP_Unlit.shader

trail oriole
#

Omg phone

dull furnace
#

not sure if there's some step I may be missing, but they do show up at least

trail oriole
#

Try just deleting that shader (and seeing if the search is good after)

dull furnace
#

I get this in the selection menu, I would assume there should only be one of each

#

and oddly enough it doesn't seem to differentiate them so I can't switch it to the correct one

naive steppe
#

Man, I really thought I had ironed out the remaining issues in my old-version-rip-upgrade, but now all of a sudden I can't build bundles

trail oriole
#

The heck

#

Does it do that if you aren't trying to build it into the project

naive steppe
#

lemme check

#

Tried building it to a folder on my desktop, same issue

#

I'm pretty sure it's a me issue and not anything you did Nomnom

dull furnace
#

dude wait I can just modify the DunGen scripts to debug them can't I eyeshake

naive steppe
#

I just need to bite the bullet and port everything over to a fresh project ; w ;

trail oriole
#

Try closing project, nuking Library and Temp, and re-opening it

#

Maybe your cache is dead

naive steppe
#

kk

dull furnace
#

incredible

#

conditional breakpoints my behated have been avoided

tulip widget
trail oriole
#

ye

trail oriole
dull furnace
#

oh, I missed that, hold on

#

should I need to restart the editor?

naive steppe
#

Probably wouldn't hurt

dull furnace
#

trying without because I'm a rebel

dull furnace
#

it worked

naive steppe
#

Thank god you have the info extractor at least

#

This will be better for future compatibility anyways

clever steeple
# naive steppe Nope

i think that happens when you have 2 of the same asset type using the same name

#

Maybe some of you meshes have generate materials that are now duplicate?

naive steppe
#

Ahh maybe. I'm still gonna do a fresh rip though, I've been putting it off but inevitably it's gonna cause problems bc of earlier mistakes

trail oriole
#

Your project is cursed

#

Burn it with fire

trail oriole
#

Oh I know why the shaders copy over, I originally ignored all shaders that weren't shadergraph ones, but then I implemented the category stuff for assets from the game, and that copies over all the shaders.

#

heck

#

Yeah you can just straight up delete all the shaders in that folder, none of them are used

#

I'll add that in later today in the steps

#

@dull furnace (sorry for mentions lmao) but just so you see it ^

dull furnace
#

oh yeah sounds good ty

#

I deleted all the HDRP_ ones, but will delete all of them now

naive steppe
#

😌

naive steppe
royal inlet
#

alright

#

new keyboard

#

my typing is down from like 140wpm to 90 or so but

#

i can get back to the documentation and testing and stuff

#

get to test all the new shit poggers whats new this past week

dull furnace
#

any idea if there's a package I need to install to be able to see/edit HDAdditionalLightData in the editor? currently it seems to know nothing about them

#

(I have HDRP v14.0.8, seems like that would've included it thonk )

trail oriole
#

What do you mean?

#

In editor there is no info to edit on it since it's all attached to the Light it's with

dull furnace
#

so the properties it controls would be expected to be displayed on the Light?

#

the shadow settings seem to be missing quite a few things I would've expected to see, but the specific one I'm looking for is the shadow map dimming multiplier

trail oriole
#

The temperature thing is from it, the lumens/whatever units is from it, among other settings

dull furnace
#

oh I found it, apparently there's an option in the preferences to enable "additional settings"

trail oriole
#

Oh didn't know that was a thing

dull furnace
#

yeah, I just expected it to work like I saw it in UnityExplorer with two components containing different sets of properties

dull furnace
#

if you're looking at an component that uses HDRP settings, you can hit the hamburger menu on it and it has a menu option that takes you to the preferences page with the option

#

lights and cameras should have that for example

#

oh, and I guess you can do it per section in the component as well

naive steppe
#

Ahh cool, ty

tiny gorge
#

searching threads still sucks. does anyone know if there's a good way to skip having to type your favorite animal/team role every time in the terminal when playing in editor

trail oriole
#

I can probably make a cheat for that

pliant heron
#

So I have just created a project and imported the tool following the instructions, I have imported and moved DunGen to the AssetStore folder before ripping the game assets but when it finish ripping the project throws an error, is it normal?
Also another DunGen folder gets created under Assets

trail oriole
#

Did you import DunGen and then run the tool? Or did you manually import one of the integration packages that dungen comes with?

pliant heron
trail oriole
#

Hm

#

Oh wait, show me your insalled unity packages

#

(window > package manager, then "In Project" tab)

tiny gorge
#

ty

trail oriole
#

You have the package installed, hwat πŸ€” What are your other errors

pliant heron
trail oriole
#

Unity it's installed... right there why you mad

#

Exit safe mode

#

Then open the tool again, and expand Utility. Then send me a screenshot of the packages in the list it has

trail oriole
#

What if you press install there

pliant heron
trail oriole
#

ok let's just do this, zip up these folders and send it to me so I can look at it

pliant heron
#

I just tried to re-do everything again and I noticed when importing DunGen is throws this error. I feel like it explains it, now the thing is... Why does it throws that error?

trail oriole
#

wait it throws an error when importing dungen??

pliant heron
trail oriole
#

the heck

#

What if you right click its folder and reimport it

pliant heron
trail oriole
#

That seems good πŸ€”

humble ember
#

just realising since probuilder stuff is all gucci someone could make a mod to replace all the facility meshes with the "fixed" ones to stop that dump of negative collider errors

trail oriole
#

That's just the colliders themselves. You can just invert the all the negative axis and it'll remove all the warnings (box colliders, etc)

#

ok what, I looked at your project and that script is somehow missing an entire using Unity.AI.Navigation;?????

#

@pliant heron

pliant heron
trail oriole
#

It's there in my asset of it Thonk

#

Wait yours doesn't even have the 2d adapter

#

Oh yours is an old version

#

Yours is 2.13.4, while the latest is 2.15.1

#

Ok so you just have to do two things for that project I think

#

Put using Unity.AI.Navigation.Editor; at the top of Editor/UnityNavMeshAdapterInspector.cs
Put using Unity.AI.Navigation; at the top of UnityNavMeshAdapter.cs
(where the other usings are)

#

@pliant heron

#

Or update your asset

#

(although that would need a re-rip due to new guids)

pliant heron
#

Got it! Thank you so much, really!

trail oriole
#

πŸ‘ Imma put this in the FAQ about dungen

#

v0.4.6 pushed

  • SkipTerminalIntro patch - skips the first-time terminal questionaire (found in runtime settings SO)
  • Buttons in the runtime settings SO to open the saves location, delete saves, and delete lc game save data
  • Shaders no longer get copied over into the project (since I don't use them)
#

@tiny gorge ^

tiny gorge
#

damn alright let me update rn

#

oh yep it worked instantly

#

good shit

trail oriole
#

Back to work I go sip

trail oriole
forest magnet
#

do you want me to pin that?

trail oriole
#

Oh yeah if you can

trail oriole
mystic trench
#

@trail oriole hey bro, a small request

#

Are you capable of adding new stuff to debug mode for testing moon in editor? I would love to have fly with noclip and control over my money while on moon or at least on orbit

tribal jolt
trail oriole
trail oriole
#

Seems Unity's package manager api just lies on chinese computers so now I have to handle the manifest file in the raw way instead. Cool

thick portal
#

lmao

#

πŸ’€

tiny gorge
humble ember
#

@trail oriole super tiny nitpick but the prompt says "Please restart the editor" which is inconsistent cuz ur not really asking πŸ˜›. might be worth changing it to something like "The editor will be restarted"

austere furnace
#

yeah true thought i was gonna click ok then close it myself

trail oriole
#

I'll tweak that, waiting to push another update until I figure out normal-asset guid migration. Then it'll have some smaller stuff alongside it (been a bit stretched with time).

desert chasm
trail oriole
tranquil hare
#

@trail oriole looks like the animation clip improvements PR got merged πŸ‘€

#

I re-exported to see how well it worked, already much more accurate

trail oriole
#

oh snap!

trail oriole
#

I'll see if I can just pull that into my fork of AR and update it for the package

#

Might make the next update 0.5.0 at this point

trail oriole
mystic trench
#

damn, sorry, wrong place XD

shadow delta
#

I used this guide and got it into my Unity Template project, but I am not sure where DunGen is (assuming i need that for the interiors) Where should I look to try to find DunGen? Been trying to follow this tutorial here:
https://www.youtube.com/watch?v=lsQl7P0PYs0&ab_channel=MajorBlue7Mods

Hello this is the first video in a series of Lethal Company Interior Mod
this is a Tutorial on How to Make and Create a Interior Mod using the DunGen tool that was used in making Lethal Company.

This one will go over how to setup a Tile and make it Generate with DunGen
tool .

you will have had to have the Unity Template Project setup made by ...

β–Ά Play video
#

We have really nice Half Life assets we are wanting to turn into a custom interior πŸ˜…

desert chasm
fervent pine
#

Does the LC project Patcher by Nomnom work for getting DunGen to work in unity? I also am trying to follow the tutorial above

half steppe
#

Yaaay, I contributed, somehow

desert chasm
#

is there a way to patch the guids/prefabs of an imported set of rooms to the asset store dungen e.g. from a mod using the asset rip dungen?

shrewd orchid
#

heya, when lethal company updates how will we update our projects to the new version? also, can i rerun the patcher on the project if some changes are made to the patcher

trail oriole
#

I'm slowly figuring out a way to patch in-place with an already patched project

trail oriole
#

Took me ages but I finally made headway with the in-place patching. Need to verify with a few more tests, and making sure a fresh patch still works fine, but then I should have some good changes. Will see about getting that done by early next week when I have time.

#

Seems sub-assets (like audio mixer groups) don't get a proper file id when extracting them so that's one situation I gotta fix dead

trail oriole
#

In place patching success :)

#

Can't do much testing until later tonight, but if someone wants to duplicate their project and try it out on their end, that would be super useful.

v0.5.0 branch also has a new package installer, that will write to the manifest file if the client api fails to work (such as on chinese machines for some damn reason).

trail oriole
#

@naive steppe if you get a chance, could you try the v0.5.0 branch on a duplicated version of your moon's project (so your original doesn't break on accident) to see if it works on a big boi?

naive steppe
#

sure thing, I'll do it in a bit :3

naive steppe
#

gonna stick with 0.4.6 for now tho just in case

trail oriole
#

sick

#

Which asset store stuff broke?

naive steppe
#

Honestly I think it was just stuff that already had errors lol, like shaders for specific pipelines

dull furnace
#

I'm wondering if it's possible somehow to include shaders to enable switching to this option in LC release? I'm looking at some issues with area lights cutting off near the edge of the screen in https://discord.com/channels/1168655651455639582/1195583267546595389 and it looks like setting that to High fixes the issue in the editor, but it breaks rendering to set that in the release build

#

it seems like maybe an entirely new HDRP asset would have to be built and included in a mod to allow switching to that to use the better quality filtering?

trail oriole
#

From that post it seems like you have to build the game (maybe asset bundle would work too) to generate the shader variants for the filtering option. Then use the public api property to assign it at runtime to the new asset. Although might lead to conflicts if multiple mods start re-assigning it to their own πŸ€”

dull furnace
#

ah yeah, I was hoping it wouldn't be a matter of doing that due to conflicts like what you mentioned

#

I don't really know enough about how the shader variants for options like this are actually created

#

does it compile a shader with dead code removed so the variants can't work at runtime?

trail oriole
#

(never used this so I can't add much input to if they are good or not)

humble ember
#

Yeee i mess with those abit in the function I mentioned in other thread

dull furnace
#

oh I see, that does sound like it would be very relevant

humble ember
#

@trail oriole weird question but have you messed with unityevents in the context with serializedproperties yet

trail oriole
#

I don't think so, whatcha doin

mystic trench
#

@trail oriole does fixing works fine without any issues?

trail oriole
#

Seemed to work fine for Star, but would be good if a few people tried it on backed-up projects (in case it blows up ofc). Haven't had free time this week to test more myself.

mystic trench
#

alright ill do a copy then

mystic trench
#

so in my case

#

the patcher crashed

#

and later on my project was corrupted

swift plank
#

@trail oriole what version of AssetRipper is embedded in the project?

#

or if it's a fork, what version is it based on?

#

well, thinking about it for more than a second, it's probably based on the the fork you have

tranquil hare
swift plank
#

Sent a PR adding Linux support out of the box for lc-project-patcher

trail oriole
#

I'll try to give it a look over after work 🫑 Been stuck in graph debugging for the last week so my brain is becoming a potato, send help

#

Actually just did a glance over and it seems super minimal on changes lol. Nice LUL

swift plank
#

hold on, before merging actually

#

found a problem I need to fix

swift plank
#

issue is related to linux having Case-Sensitive file systems, Unity doesn't like that so it has a fit

swift plank
#

might close the PR until I can figure out a solution

dire monolith
#

@blazing light

#

I am too stupid to understand any of this but is that what u were looking for?

mystic trench
#

@trail oriole is it possible that if some of ripped assets are corrupted, then while exporting bundle it might be corrupted as well?

trail oriole
#

That sounds like that makes sense, so I would assume so

mystic trench
trail oriole
#

uhh I'd back up first, but maybe. Can try that then run the between-projects asset migrator to try and have it fix the script guids (main branch doesn't have the asset guid auto fixers for the migrator). Depending on the quantity of assets affected/its references it may be an endeavor.

mystic trench
swift plank
#

hmmm, I'm looking into the linux support again. I wonder how AssetRipper handles assets with the same name on a case-insensitive file system

trail oriole
#

You generally won't have same name assets. They tend to have suffixes for duplicates in the same category afaik.

swift plank
#

Yeah, just found that out

#

gonna have to replicate that behavior on case-sensitive file systems

#

as unity doesn't like case-sensitive file systems

trail oriole
#

unity moment

swift plank
#

getting a weird issue where unity is recursively calling a managed method from native code...

#

causing it to forever lock up

#

this clearly doesn't happen on windows machines

#

now to figure out if it's something I need to fix, or if it's on Unity's end...

swift plank
#

oh

#

I found the issue

#

I think

#

that's not how a folder is supposed to work

swift plank
#

seems to have fixed it

#

let me make sure no other issues surface, then I'll open a new PR

#

no other issues seemingly

#

awesome

#

sorry for all the spam from me in here

#

but I got linux support working for real this time

trail oriole
#

All good πŸ‘

swift plank
#

the changes are little less simple compared to my earlier PR

#

had to mimic the naming functionality of AssetRipper on windows

#

along with replacing the dir separator character when on linux

shell minnow
#

i have absolutely zero experience with unity or coding or anything like that and have downloaded the installers and stuff for everything i need could someone like make a tutorial for the project patcher for people like me that just wanna rip some models because it kinda seems like in the installation instructions it assumes anyone reading it already has experience/knows what theyre doing 😭

swift plank
#

If you're only looking to rip the models, you may be better off using AssetRipper standalone

shell minnow
#

oh oki ill look at that

#

hopefully itll be easy to figure out lol

#

what do i select for it to open? do i just like go to steamapps common and pick the lethal company folder

#

@swift plank srry for ping lol but i think ive found the model i want thru the asset ripper u sent but im not sure how to actually export it

swift plank
#

Uhhh, you might need to export the whole project?

#

I'm not sure

#

I haven't used asset ripper in a bit

shell minnow
#

o oki raa

indigo flare
#

@trail oriole @cunning spruce endless loading, Is there any way to fix it?

trail oriole
#

This doesn't really tell me anything tbh. What step was it on? Did it throw an error and forget to remove the dialogue? Send the log file from %LOCALAPPDATA%\Unity\Editor\Editor.log

forest magnet
#

also 23sec is rookie numbers, it can take a few minutes even on strong machines

naive steppe
indigo flare
#

I also can't open project patcher

indigo flare
trail oriole
#

huh it seems to be entering an infinite loop for some reason when editing that prefab πŸ€”

trail oriole
#

Do you have an LCPatcherRuntimeSettings SO in the project? (should be at the root)

trail oriole
#

Well go in the project and look at it

#

It's infinite looping since it couldn't find it, so it tries to make a new one, which triggers the save detection, which tries to find it, repeat before actually creating it. So see if it has an issue with the asset

trail oriole
#

That would do it. Make sure you don't have any compiler errors, as your whole log was filled with exceptions due to the infinite load. (See if you have exceptions turned off or something?). Dunno what happened with your project to break that though

#

If you don't have any errors, then see if you can assign the script there, or just remake the asset

#

(also at work so I'm a bit spotty on replies atm)

naive steppe
#

Can't believe you'd ship it without the script for some people πŸ˜”

indigo flare
indigo flare
swift plank
trail oriole
#

(Real), lol

swift plank
#

In my defense, that was before the request to target v0.5.0

trail oriole
#

lol

swift plank
#

I should add, the video re-encoding only runs when it's on linux, since unity supports .m4v on mac os and windows

trail oriole
#

I assume if ffmpeg isn't present it will skip?

#

guess that's what this is

swift plank
#

yeah, it checks to see if ffmpeg + ffprobe are in the path

#

if it can't find them it logs an error and continues without re-encoding

trail oriole
#

oh btw did you test a re-patch of the project in a backup?

swift plank
#

a re-patch?

#

as in, patching an already patched project?

#

I don't think I did, what should I do to test it?

trail oriole
#

Yeah, basically back up your project so it doesn't break if something goes wrong, then just re-run the patcher. It will take like 2x longer

#

Still need to add a popup to somehow detect an already patched project to give a warning about it to backup

#

Guess I can check for files in the generated folder

naive steppe
#

No warnings, we die like warriors

trail oriole
#

No warnings for star, someone else said it crashed their computer or something, so I dunno if that was a fluke or not OMEGALUL

swift plank
#

I'll test it then

#

I don't really have an existing project to test it on though

#

so it'll be a clean project

trail oriole
#

Gotcha basically have some assets that reference game things in the root or somewhere not in the generated folders

#

Like root, mod folders, etc. Not Game

#

To make sure assets link up, scripts link up, etc

swift plank
#

so like, make a prefab at Assets root that references a game component?

trail oriole
#

(can also just duplicate some game assets and move them there)

#

Yeah

#

I tested a lot with duplicating the springman and moving it outside of Game

#

But should test with a prefab, an SO, and maybe a scene (just dupe and move em)

swift plank
#

alright re-running the patcher now

#

done

#

no crashes

#

references seem to be correct

#

seems like re-patching works fine

trail oriole
clever steeple
#

how can i re-patch (for v50) can i use Master branch or v0.5.0?

trail oriole
#

Only v0.5 has support for re-patching. But do it after backing up your project.

swift plank
#

re-patching seems to work fine, but yeah do backup first

trail oriole
#

Hopefully any new objects and stuff doesn't just break it, no clue

swift plank
#

this will probably push the linux support back Sadge

trail oriole
#

Going to push a readme change actually to document this in v0.5

#

dammit why did it indent

clever steeple
trail oriole
#

Should be ye

clever steeple
#

it crashed. idk if it was out of ram or something caused it to crash, but i'll try again

trail oriole
#

on which part?

clever steeple
#

i looked away, but it was very early on. When i reopened the project all the content from Game where gone

#

let me try again

trail oriole
#

If it does crash again (and not the automatic restarts) then lemme know when it happens and give me the editor log before re-opening the editor from %LOCALAPPDATA%\Unity\Editor\Editor.log (otherwise it nukes it)

clever steeple
#

it crashes immediately after i press the run patcher button. Its not a ram problem

trail oriole
#

immediately? The heck

#

Oh I see why

#

I thought I had a guard for this πŸ€”

#

I'll check to see why that is happening

#

Doing my own ->v50 re-patch to test on my end as well

#

Taking 30 years

clever steeple
#

ok. I do have to say that i have a lot of stuff in my project so it could also mess things up

trail oriole
#

Where is that dll btw?

#

Is it one you added yourself? Or is it in the project already

#

(I can't check yet on my end)

clever steeple