Can I use .pak files in Editor while developing?

Hi, can I use .pak files while in editor developing?
Or does .pak is only meant for built projects only?

I have built a map/level in another project, and I want to load it from .pak in editor in another project.

Thank you.

I accidentally found this:
[Working with Cooked Content in the Editor | Unreal Engine Documentation](https:// Working with Cooked Content in the Editor)

I am stating with assumption that the files in .pak are cooked. At the bottom the state that:
"There are known issues with the following assets:
Niagara
Blueprints"

So my guess is that I cannot use .pak files in editor.

My goal was to load level from other project in editor.

P.s. Unreal documentation sucks, many things are not documented, there are zero examples and many times documentation is simply outdated e.g. - the copied something that was no longer supported from UE version 4.16 to 5.0.

1 Like

You want to load a level? The geometry? Can’t a *.t3d file do that?

Yes, I want to load a level that I store in a single file, *.pak or anything else.
I packed my whole level with blueprints etc to .pak file. I want to load it.
At least in built version, but ideally in editor too.

Can I do this while using *.t3d file type?

So, you have the project and map/level working in 4.16 with no issues, and you want to migrate to UE5?

That doesn’t seem that hard, just, time consuming. I would imagine a step by step migration to varying versions of the engine would do it, but still, you would have the final migration to UE5 to contend with, but really, other than documented issues…I think it’s just time.

Hi, thanks for reply. Regarding 4.16 and 5.0, no I am not talking about that at all, I am just stating that documentation is bad.

I want to load map level from .pak file. If possible in editor too.

Well…surely if you can open the pak file, you can open the map?

What am I missing here?

You have the map, and you want to migrate to another project?

Isn’t content in .pak file is cooked? In documentation they state that cooked content is not fully working in editor, e.g. Blueprints.
ref: Working with Cooked Content in the Editor | Unreal Engine Documentation

I can try to open .umap file from pak, by suppling the .umap file itself or any .uasset in the .pak file to the function It doesn’t work:

A null object was passed as a world context object to UEngine::GetWorldFromContextObject().
UGameplayStatics::OpenLevel(const UObject* WorldContextObject, FName LevelName, bool bAbsolute, FString Options)

Maybe I get this wrong, but I don’t understand why OpenLevel is such un-natural function. Why it is not simply: OpenLevel("LevelReference by Object or by Path"). Why I would get an object from the map that it is in, to load the same map?

In either case, I also cannot figure out how to open level from .pak in built version of the project.

Sorry, but I do not understand what you are saying here!

You have a map, that is contained with a pak, which you can open in an older version of the Unreal Engine that you want to use in Unreal Engine 5?

Also - you do have the project file, too?

Please detail what part of this process I am missing.

I never said anything about opening something from older version of Unreal in Unreal version 5.
You got confused by this:

P.s. Unreal documentation sucks, many things are not documented, there are zero examples and many times documentation is simply outdated e.g. - they copied something that was no longer supported from UE version 4.16 to 5.0.

Here I am blaming bad Unreal documentation. This has nothing to do with the issue I am having.

My issue is: I do not know how to load a level from a .pak file.
I need working code example.

oh, you open the map in the editor after loading the project.

You can CTRL+C and CTRL+V between maps and even engines with an open map.

So, you are not porting a map to another map?

What is it you are actually doing?

I want to store the whole map/level in a .pak file, then load it in another project or build.

Just make it into a *.t3d, that’ll be fine.

The nomenclature would follow the name of the map in the editor, so, so long as your maps are named correctly, that will be fine.

They are tiny text files, and reference the location of assets, plus, use the world positional data…not much to them really, but they are very powerful formats.

Only thin I’d worry about structurally, would be if you are using power of two or not, as any mis-match in project settings (like references) will cause issues with actor/object locations.

Alright. What about if I want to store textures, models, sounds etc into *.t3d format, does it support this, or it is only for referencing?

Let’s say I create a game, and I do not want it to download all the maps at once. Only the ones player plays.

Ah, so, you want the actual finished/authored/baked map; With all the shadow maps, normal maps, light maps etc all fully built and finished?

So, you want the *.umap file to be usable/playable/loadable? Those finished maps are normally stored in *.pak files and are, basically, “packed” so as to be used live in a gamestate.

In answer to your question about loading and only permitting a player to download a limited set, and then, to offer newer maps in the future? Or, to give them a choice? To monetize a ‘map pack’? To lessen the size of the download of a game? To compartmentalize your game in one way or another?..the answer is “yes”, these maps must be ‘packed’ and “yes” umap files are for developing maps…and “yes” *.t3d files are a pastebin of every single actor in a level and do NOT store texture information, merely the reference of an asset, and, it’s positional data, like vertex co-ordinates, operating to a grid size.

They are extremely helpful file (*.t3d) for white-boxing large maps and iterative testing environments.

Yes, finally you get me.

Yes, it is for two reasons - download size for the user and also just storing a whole map in one file, with a possibility to make an updated version of it.

So *.t3d is not a suitable option for me, I need all the data in one file, not just references.

For you to make an updated version of it, or them?

I mean, compression of the file would be fine? lots of settings to reduce file size of pak files - but if you want someone else to edit the file? They will need the umap file to do it.

You personally will use your own umap files and these will be a better version of the *.t3d file.

In summary:

*.umap = editable map file with references to project file
*.pak = compressed file with everything needed to run, but compressed…because it has been ‘packed’.

You cannot edit a *.pak file and you cannot play a *.umap file

You can’t simply use .pak files in the editor, but you can dynamically load/mount them with a special method only using C++ , the special method is called something secret :smiley: which is used by the YourGame-YourPlatform-Shipping.exe to load .pak files to make it possible to stream/play the games.

hope it helps, cheers!

They were asking about *.pak files for maps - not cooked asset files released at the game launch.

Those are always encrypted for obvious reason.

if he have the .pak file produced by his project, this means he have the packed game and he want to use the assets from the .pak file in the already packed game, doesn’t matter the pak file is about map or other asset… they are all packed and compressed. They can’t be loaded simply but this doesn’t mean it is impossible to load them.

as we know Shipping.exe is loading them while we play the game.