@Hnomer did you solve the problem with the hard references?
@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.
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
do you think the pak system is bugged? surely it was not designed to work in this manner?
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.
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:
![]()
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.
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
In your build.cs file add âPakFileâ to PublicDependencyModuleNames.
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?
If your class derived from blueprint function library you need to make your function static and mark it as a ufunction(blueprintcallable).
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
Loading paks is not supposed to be supported whithin the editor, you need to build as standalone.
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.
It doesnât work in 4.27.2 ?
I canât create .ubulk
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?
