Why is it so hard to create a folder and put all your files in there!?!?!?
Why do I have to browse through my entire asset folder looking for your files when I want to delete them? This is so frustrating!
Do you need to put files into the Editor folder? Create that Editor folder INSIDE your asset folder!
Do you need to put files into the Plugins folder? Create a folder for your asset INSIDE the respective plugin folder!
Also, it would be very helpful, if there was a way to get a list of all the files installed through a unitypackage.
Yeah it’s really annoying when assets do that. As an asset store publisher I can tell you that it literally doesn’t even take 5 seconds to just put everything in a separate folder before uploading.
There are some people who don’t even use folders and they upload all of their disgusting scripts like that. There is a special place in hell for people like that.
Correct way: Stick the assets in a folder named after the asset, with some sort of logical hierarchy below. Don’t forget an Editor folder for editor scripts.
Annoying way: Stick the assets in a folder named after you/your company.
asdsfasfasgfdgdhg: Upload your Assets folder from the project you used to create the asset, possibly with some stock assets for good measure. Bonus points if you upload something that doesn’t need to be a full project, or otherwise overwrite core settings for anyone importing it!
One thing that annoys me is hard-coded paths in scripts. Move the asset and boom… broken. There are a few otherwise awesome assets that do this, as well.
I like to have my projects set up so that all of the 3rd party stuff is under its own folder. That way I don’t have to worry about licensing etc. so much when I want to move things between projects - if it’s in the 3rd party folder I know I need to look it up, if it’s not then I know I can do what I want 'cause it’s mine. I also have pretty specific hierarchies that I like to organise stuff into. But then I have to shotgun assets all over the place 'cause if I don’t they break.
I once went and fixed some pathing issues, but that means you have to manually maintain the fix whenever you install an update…
They have internal resource or data files or whatnot, and look them up via a relative path inside the Assets folder which assumes that the tool’s own folder is at the root level.
Unity doesn’t have a path manager, so it’s hard to pin it entirely on the asset developer.
Yep, UT might have to come up with some clever improvements to asset handling too. And the asset submission tools should definitely automate stuffing things in folders, or at least suggest changes when it sees a flat structure.
Assets that use resources folders for internal things really bother me, since that gets included with your build no matter what and inflates your build size. Seems even a resources folder in an editor folder gets included.
I think that an Editor plugin structure that’s more than just a class to derive from would be really useful here. Carrying on with path management as the bone to pick, at the moment asset creators can either roll their own system to handle paths (then everyone rolls a different system - see the current state of event systems for an example) or hard-code them, or manually implement a dynamic lookup for their own resources.
Throwing an off-the-top-of-my-head idea out there, if a plugin had to register its resource/data files at import time, then the Editor could track them for us and it simply doesn’t ever have to be an issue.
Namespace handling is something that could also potentially be helped with a more structured import pipeline. When importing we could be given a list of all included namespaces (including “not in a namespace”) and the option to rename them to avoid conflicts. An automated replacement tool could then go over every included script file and save us the headache of managing it ourselves.
The odd folder and file placement issue is why one of the things I do when organizing the assets I’ve purchased is first open them in a completely new project. I make notes in my asset library document that reminds me of any strange import issues assets have.
Some of the assets I’ve purchased have been so ugly in their setup I’ve had to give up and just create a cleaned up package for importing when I want to use them.
Because the Plugins folder absolutely needs to be in Assets and can’t be nested inside any other folders. If you do that, it becomes just another folder and no longer has the magic script compilation order properties. I do try to put as much as possible inside a single folder named after the asset, but “Plugins” must be outside, and so must “Editor Default Resources” if you’re using that. I wish that weren’t the case, but that’s what we have to live with. Fortunately it’s possible to use other folders inside those, so e.g. Vectrosity (when using source code) has Assets/Plugins/VectrosityScripts/ which at least makes it more organized than just dumping the scripts in Plugins.
None of those are really an issue, though, @Eric5h5 . Those things are in fact still organised in an orderly fashion. Breaking up your plugins across 5 different vendor folders wouldn’t be an advantage.
On the other hand, having to have ScriptAssetXYZ sitting in the root folder because it depends on a file path “Assets/ScriptAssetXYZ/SomeFolder/SomeFile.txt” is a pain in the bum. It doesn’t at all fit with how I organise my project’s other data, but I can’t* move it in with all of my other external script assets because that makes it die.
Without extra overheads, that is. Sometimes not a big deal, but if you ever need to update the asset you get to do it again.
I’m definitely not in favor of hard-coding paths. Have you contacted asset vendors that hard-code stuff to request that they cut it out? (Politely of course. )
Me too, I prefer putting all plugins in some categorized folders (Editor extensions in one folder, code-only libraries in another, etc.) and I get annoyed with the hardcoded paths.
For those plugin authors that I find slow to implement suggestions to fix this, I ended up making a version control repo for every plugin that I modify so I can cleanly keep track of my changes. Whenever an official release comes up, I just re-merge my modifications. Doesn’t help with the plugins that come in DLL’s only though.
Just a note, the proper way that should have been done to this is to use the “Editor Default Resources” folder. It’s a top-level Resources folder that doesn’t get included in runtime. It’d make sense if UT changed it that a Resources folder in an Editor folder also behaves that way.
It’d be great if Resources folders weren’t just a magic name. There’s a full asset database, why can’t we just select folders (or individual assets, even) and have a tick box for “always include in builds”?
I get the feeling these “folders get properties based on the name you give them” was one of the first features of Unity that they never foresaw would need to be more sophisticated as the engine matures.