Lately I’ve been trying to organize my generally useful utility assets into a simple library that I can share between my, and my friends’, projects. It seems that UE4’s best tool for doing so is the “migrate” feature within the asset browser, but I feel that tool is clumsy and the entire process could be made much faster and easier. The main issue that I have with the migration method of asset sharing is that it makes compiling many shared assets from a variety of projects a time consuming and tedious process. To me this seems like the artist’s equivalent of manually copy-pasting blocks of code from a bunch of different files into a new project - it works, but I think there’s a better way!
Since migration is basically ‘pushing’ assets from one project to another, I’d like to have the ability to ‘pull’ assets also. This might not seem like a significant difference at first, but I believe it would make it significantly faster to include assets from multiple projects (and libraries) into a single new project. This is much more along the lines of linking to and including a shared library in programming. For a great, working example of this look at how Blender handles 3D asset sharing.. I’ll more clearly illustrate the difference, assuming we have a new project, Project A, and three projects that we want to pull assets from, Projects X, Y, and Z:
Migration (Asset Pushing) Method:
---- 1.) Create new Project A in UE4 editor.
---- 2.) Open Project X in UE4 editor.
---- 3.) Select Project X assets and migrate (push) to Project A’s content folder.
---- 4.) Open Project Y in UE4 editor.
---- 5.) Select Project Y assets and migrate (push) to Project A’s content folder.
---- 6.) Open Project Z in UE4 editor.
---- 7.) Select Project Z assets and migrate (push) to Project A’s content folder.
Keep in mind that during this process we have to open each project in the UE4 editor at least once, and depending on your project/level/hardware the load times can be significant. I’ve found that trying to manually transfer and manage asset files in my OS’s file browser lends to problems where the editor can’t find the files or screws up asset dependencies.
Appending (Asset Pulling) Method:
---- 1.) Create new Project A in UE4 editor.
---- 2.) Append (pull) assets from Project X’s content folder/project file.
---- 3.) Append (pull) assets from Project Y’s content folder/project file.
---- 4.) Append (pull) assets from Project Z’s content folder/project file.
In this method you should only have to open your single, new project in the UE4 editor. Then you select ‘Append/Pull’ from the editor’s content browser (next to migrate), a dialog box prompts you to navigate to the project file or content folder/package of the project that you want to pull from, and then you’re presented with a content browser-style importer menu where you can select the assets that you want to pull. Because of this, not only can you quickly and easily pull files from many projects without the hassle of opening multiple editor instances, but the user can also create dedicated ‘library projects’ that hold their shared assets. Furthermore, it should also open the door to saving a cluster of assets into a local asset package that you can pull from, hopefully using the same method.
As I mentioned above, please consider how we share code modules in most modern programming languages, and also consider looking into Blender’s Link/Append asset pulling feature. I know that this is a pretty small, quality-of-life type of feature request, but I know it would be a workflow improvement for me, and I suspect it would help others too!