Editor rewrite: clean up sdpkg management workflow
Is your feature request related to a problem? Please describe.
Having to manually edit packages (i.e. sdpkg files) has always been a bit of a pain.
Describe the solution you'd like
See above. Would be nice to have a function in the new editor to clean up this workflow a bit; maybe a Package Editor that can be accessed from the solution explorer for each project with an sdpkg that allows for more intuitive management and editing of the underlying yaml. Could use list edit controls for the bits of yaml that could be interpreted as lists, maybe a custom control for the Bundles nested list if in can be confirmed that the asset bundler works again.
Describe alternatives you've considered Alternatively;
- Treat
sdpkgas an asset that can be edited from the inspector, like we do for other serialised yaml assets.
Additional context
When do you need to edit the package file? Can you describe a few scenarii ?
Sure.
The obvious one is when dealing with DLC. Of course, this depends on the asset compiler being able to produce more than a default bundle (which I'm not sure of, as I get two different failure conditions depending on which selector I try to use when defining bundles. That's potentially for a different issue, though.). Many of the more popular engines already support this in some way, and Stride's got the VFS implementation already, we'd just need a more intuitive way to manage the data side of things. Ideally, that'd mean having a library project in the solution for any DLC-specific code, and DLC-specific bundles generated by the asset compiler as configured in a theoretical package editor. As an example, this is doable in O3DE already according to their docs just by feeding the engine's asset bundler a separate seed list file for your DLC assets, which you can create within the asset bundler itself.
A good follow-on to the above would be selective building of DLC assets, but that's very likely beyond the scope of this issue.
A few others are, for example, displaying a neatly-formatted list of root assets, letting the developer change or append to the ResourceFolders list from a central location, or just changing the basic data at the top of the file.