x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Is it possible to use temporary assets 'streamed'?

Hello,

I would like to know if there is a way to load pak, mount it and use uasset in it WITHOUT having the .uassets loaded in the project. My company is making 'avatars', 3D character (fbx + texture), and we want to give an example project for developers to allow them to use these characters but without having direct access to the fbx.

For example, I test in local, I have a .pak there: C:\Users\Username\Desktop\Test.pak made with UnrealPak.exe

This pak contain: - texture.uasset - skeletalMesh.uasset - physicsAsset.uasset - skeleton.uasset - material.uasset

  1. I get the pak and mount it here: /Game/DLC/packageName

  2. /!\ Problem -- If I 'SyncLoad' / 'StaticLoadObject' these assets, they will be available in the mount directory /Game/DLC/packageName

I want to know if there is something like this in Unity: https://docs.unity3d.com/ScriptReference/AssetBundle.html

I work on UE4 4.21.

Hope someone could help me. Thanks. :)

~Nyudeb

Product Version: UE 4.21
Tags:
more ▼

asked Mar 11 '19 at 03:46 PM in Packaging & Deployment

avatar image

nyudeb
21 2 5 7

avatar image nyudeb Mar 20 '19 at 10:49 AM

After a lot of research, I didn't found anything... I actually want to be able to import fbx + texture or pre packaged .uasset (like unity3d bundle) to UE4 project at runtime. (downloaded from server or from local path).

Is that possible? Does anyone have any idea what to do?

I'm starting to lose hope but I think it must exist because it's possible on Unity....

(comments are locked)
10|2000 characters needed characters left

1 answer: sort voted first

yes, it is possible to do, there are lots of threads in the answerhub about it, search specifically for Pak mounting. Here is a thread with a lot of info about it and people sharing their experciences. I've worked on this personally and got it working but sadly I cannot share the code due to NDA, but basically what you want to do is:

  1. Download pak into PersistentDownloadDir

  2. Mount the pak on the root of the assets inside the pak (/Game/Paks for instance).

  3. Use the asset registry to actually find the files.

  4. Load them.

  5. Unload and unmount the pak after the needed assets are used or the system will block access to other assets.

Here is a thread where i posted a huge chunck of the function I made, and where I explained what I changed to make it work. Hope it helps.

more ▼

answered Mar 20 '19 at 01:34 PM

avatar image

Bariudol
726 20 12 28

avatar image nyudeb Mar 20 '19 at 02:48 PM

Oh, thanks. I will try this way. :)

avatar image nyudeb Mar 21 '19 at 10:05 AM

So, I tried and I'm not able to get assets from the mountpoint with the AssetRegistry. I have a folder "/Game/UNPAK/" where I mount my .pak. I added a test material file in it and it's the only one file found with AssetRegistry... (working in editor)

avatar image Bariudol Mar 21 '19 at 12:53 PM

The mount pak needs to be the root of your original assets. For instance if you have a pak with one asset like this /Game/Materials/ExampleMaterial.uasset, your mount point must be /Game/Materials or else the asset registry will not find it. Be sure you are respecting the original structure of the pak.

avatar image nyudeb Mar 21 '19 at 04:21 PM

Ok, I had to do:

if (PlatformFile->Mount(*PakPath, 0, *InMountPoint))

Instead of :

if(FCoreDelegates::OnMountPak.Execute(PakPath, 4, &Visitor))

Now it work. :D

Thanks for your help :)

(comments are locked)
10|2000 characters needed characters left
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question