Download

"Move" left behind a .umap; manually moving useless because it cannot be re-imported. Solution?

What I’m trying to do:

Take a “template project” I bought on the Marketplace, and move everything to a “meaningful” directory name. Basically, move “Content/ThreeLetterAcronym/*” to “Content/MyGameName/Core”.

What happened:

The first issue I had, is that I see no “move” option in any menu anywhere. What I can do, is drag-and-drop from the content folder to the explorer view. But only for folders, which means this doesn’t work for files directly under “Content/ThreeLetterAcronym”.

Secondly, I got this error message: “Can’t save … WhateverMap.umap: Graph is linked to private object(s) in an external package.” I told the editor to try and fix it. But it obviously didn’t work.

I ran “fix up redirectors” (several times), but some files where still not moved, including said WhateverMap.umap.

So I gave up, closed the editor, moved them manually, and I could finally delete the old folders, but they will not show up in the new folder, and cannot be selected as a file type in the “import” action.

It seems moving .umap and .uasset manually is not an option. So, if the move action won’t move them, and I cannot move them manually, what other options are left?

Other questions:

What does “private object(s)” and “external package” mean?

How do I move assets files rather than folders?

Note: Since this was a project created from a marketplace asset, I can just delete everything and try again, but I have little hope it would work better the second time. I also tried doing this by using the “migrate” action, but since I can only choose “Content” but not “Content/MyGameName/Core”, I would gain nothing by it.

I read that stuff like that can be caused by files being of “the wrong version”, but I created the template project with 4.20, and tried to move within 4.20, so I don’t think there should be any “old” files in there.

EDIT: The assets that I wanted to move were tutorials. It seems other assets do have a move action. Why can’t I move tutorials?

You can manually move those assets in explorer but they have to land in the same /content directory. In your new project just add the required folders, then move the uassets, then in the content browser you can change the directory. For .umaps, rightclick the map in content browser > asset actions > migrate to new project’s content folder (it will automatically take all assets in the map along for the migrate, which is, in some cases, good for trimming project size).

OK, I’ve figured this part out by now. Some “content icons”, like sounds and tutorials, are “interactable” in the editor. To move those, you have to place your mouse on the “edge” (instead of in the center) of the icon before dragging. I guess that must be self-evident for an “old timer” of the editor, but it wasn’t for me. :smiley:

That really is the core of my issue; changing the location of assets within one project, not migrating them to another project.

I haven’t worked out yet how to move the “Content/ThreeLetterAcronym/*” content to “Content/MyGameName/Core”, because it breaks more than just one map, but by now I have found how to at least rename “Content/ThreeLetterAcronym” to “Content/MyGameName” successfully. What I needed to do is approximately this:

  1. Copy “map that breaks” to “Content/” (root of content), so I have a copy, because the renaming processes destroys the original.
  2. Save all
  3. Rename the directory “Content/ThreeLetterAcronym” to “Content/MyGameName”.
    The editor will then tell me that it broke the map in the original directory, but I don’t care since I have a copy.
  4. Save all
  5. Fix redirectors.
  6. Save all
  7. Find all structs (this is a 100% blueprint template), and open them. This will cause some to become “dirty”, as they only update to the new path after opening them (this really should be done automatically by the renaming action).
  8. Save all
  9. Search for “/ThreeLetterAcronym/” in blueprints. The issue is with a specific input parameter to create the structs. I need to do the following for each blueprint:
    A) I check from where that parameter gets it’s data.
    B) I “unpin” that parameter, so it disappears, and so does the input link.
    C) I “repin” that parameter so it reappears, and re-link the original input.
    D) Compile and Save
    This also really should be done automatically by the renaming action.
  10. Save all
  11. Close
  12. Edit the *.ini files that still reference the ThreeLetterAcronym directory, to use MyGameName instead.
  13. In the file explorer, remove some files that were left in the old directory structure.
  14. Reopen the editor.
  15. Delete the old directory.
  16. Start actually doing productive work.

It took me about a day of trial and errors to come to that process, which only allows me to change the root directory of a Marketplace asset from A to B. I still don’t know how to move from A to B\C. And the worst part, is that it probably only works for that one specific Marketplace project, and I’ll have to come up with another process for the next Marketplace project, and I literally have 100s of those that I want to use. Hopefully, pure “art” projects (without maps) will “just work” when renamed.

When I’m at work programming in Eclipse with Java, all I do is right-click, choose refactor->rename, type the new name, “take a long break”, and it’s done. I think the editor really needs a bit more work on the “refactoring” functionality. Moving and renaming files and directories should work out-of-the-box, without user interventions (except for the INI files, and even that could be automated).

So the directory in the old project is “content/threeletteracronym”. To successfully move that content to a new project, that also has to have directory “content/threeletteracronym”. It has to land in the same content path, regardless of project.

I don’t think you understand what I’m saying; maybe I’m not expressing myself clearly. There is no “old project” and “new project”. There is only one project, created from a template I bought in the marketplace. What you are talking about is not called “move”, it’s called “migrate” and it’s something entirely different. Migrate is for moving things between project. I does not allow changing the directory structure, as you said. But since I’m not trying to migrate anything, that’s kind of irrelevant.

Say you buy a “Dialog Bubble System” from the marketplace, it seems the creator is likely to put all his files under Content/DBS/. Now this is fine if you only use that one system, and code the rest yourself. But what if you also bought from the marketplace (and want to use), the “Giant Footprints Template” (aka /GFT/) and the “Turbo Camera Addon” (aka /TCA/) and … Realistically, you could want to add dozen such systems to your game, and lots of art assets too, if you’re not an artist yourself (as I’m not).

Am I really expected to learn off by heart and remember all those meaningless acronyms? All I want to do is rename stuff and move stuff around so it makes sense to me, and, most importantly, so that it all fits together, instead of every imported marketplace project using it’s own different and incompatible directory structure. Moving and renaming is a basic functionality of any good development environment, even the “free” ones. Given that unreal uses it’s own format for all files, one would think a side benefit would be “seamless refactoring”, but it’s anything but seamless. And given that unreal’s files are all binaries, you can’t even go in with your text editor and fix them manually, as you would for source-code/XML/JSON/CSV files. Given that you cannot fix the files yourself, I see this failure to successfully move/rename files as a critical flaw of the editor.

If there was a plugin that allowed you to move/rename files in the editor without breaking anything, I’d buy it right away, as I can see I’m going to waste a huge amount of time on this one issue alone. :frowning:

You caught me, I didn’t fully understand. That said, what I was talking about is not using the migrate action. You can apply the same to most assets in the content browser, ue4 will automatically update any references to that asset when moved (but good luck with maps). If the plugin is breaking then I can only assume there is a c++ script that’s aiming at a specific content path and refuses to update.