What are uexp and ubulk files?

Nope, but I am thinking about taking a look at the UE source and see how it works around those references. I hope I’ll be able to modify it. I want it to detect the external reference by maybe keywords and modify this reference as ordered and only then follow it.
@MrMcKvarz I don’t think that AssetRegistry.bin can fix the dependency problem. I haven’t yet figured out its true purpose, but I think it is irrelevant to the topic.

UPD:
I ran some tests today and found out that I can’t even cast a simple blueprint that inherits from the Actor class, though as before, I could load it as UObject. Tests with a blueprint that has a custom parent showed that it can’t find its parent even if I pre-create that parent by the path it is going to be looking at. It still says it can’t find the parent… Notice that I ran these tests not in standalone, but in the editor and the pak file I was using was created manually using UnrealPak.exe

1 Like

@Hnomer did you solve the problem with the hard references?

1 Like

@MrMcKvarz I mounted to the EngineContentDirectory. It is the only way I have been able to get it to work. I found a way to load static meshes but the internal materials are discarded (i.e so there is no hard references to /Game/materialname/. That may be something you could consider, it is just about serviceable for what I am trying to do but not ideal.

1 Like

do you think the pak system is bugged? surely it was not designed to work in this manner?

1 Like

Well, the problem with the references is clearly not a bug, it is that UE4 is not suited for modding.
I don’t really think that my blueprint loading problem is a bug either. I think that logs are not really giving me enough information and I have to again look at the source of all the functions used in the process of object creation.

1 Like

Anyone able to give a blueprint coder a hand in implementing this? I am a little confused on where to add the above code.

Do I add the code above to the UnrealEd Utils class or make a new C++ Class? Creating a C++ class prompts it as it already exists as seen below:

245787-pakpost.png

1 Like

Hi, any class should be fine, since you are not dealing with the gameplay logic. Try changing name, since utils class is quite common, and as you see, is already taken.

1 Like

Thanks for the quick reply, am I correct this is a normal project class (File > New Class) or does this have to be placed in the engine source?

Also, I am on 4.19 and my main error is :

Cannot open include file: 'IPlatformFilePak.h': No such file or directory
1 Like

In your build.cs file add “PakFile” to PublicDependencyModuleNames.

1 Like

I have it successfully compiled but now I am a bit confused on how to use this?

My class MountPak shows as a cast node… what is the node order to select a pak in a directory, than mount it?

1 Like

If your class derived from blueprint function library you need to make your function static and mark it as a ufunction(blueprintcallable).

1 Like

Hey NaturalPanic, is there any reference code anywhere to load a pak file and use AssetRegistry to find all assets (including from that pak) ? I’m starting to believe that it’s actually entirely impossible since 4.18 onwards, and many posts on AnswerHub and the forums seem to reflect that. I’ve definitely tried three or four different methods now and it always seem to fail. More on this here : https://answers.unrealengine.com/questions/836122/get-all-actors-from-mounted-pak.html

1 Like

Loading paks is not supposed to be supported whithin the editor, you need to build as standalone.

1 Like

How to load static meshes?I have mounted .pak successfully,but when ”StreamableManager.SynchronousLoad” excuted ,app crashed,Log end with “Skipping the cache update for the package asset groups due to a cache request from a non-game thread. Some localized packages may be missed for this query.”
Platform is windowsNoeditor.

1 Like

It doesn’t work in 4.27.2 ?
I can’t create .ubulk

1 Like

I can’t understand this “Rather than one large asset, these allow us to write an asset’s bulk data (.ubulk) and exports (uexp) out into separate files. This system improves perf in certain circumstances where file read contiguity is lost due to the large size of assets. This feature avoids this by enabling the reader to skip over an asset’s bulk data when seeking to the next file in a series without having to actually have serialized and seeked past that data (since it’s in separate file).”.

Can you explain me more? Is this about disk seek time?

1 Like