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"

Warning: String asset reference is in short form, could not be resolved

Since "updating" to 4.17 I ran into a number of bad problems. I fould workarounds for most except for this one.

When starting my project, particularly when loading one of my characters I get the following "warnings" in the log window

 LogBlueprintUserMessages: [GenesisMale_C_14] switching to LOD 0
 LogPackageName: Warning: String asset reference "None" is in short form, which is unsupported and -- even if valid -- resolving it will be really slow.
 LogPackageName: Warning: Please consider resaving package in order to speed-up loading.
 LogPackageName: SearchForPackageOnDisk took   0.265s, but failed to resolve None.
 LogPackageName: Warning: String asset reference "None" could not be resolved.
 LogPackageName: Warning: String asset reference "None" is in short form, which is unsupported and -- even if valid -- resolving it will be really slow.
 LogPackageName: Warning: Please consider resaving package in order to speed-up loading.
 LogPackageName: SearchForPackageOnDisk took   0.266s, but failed to resolve None.
 LogPackageName: Warning: String asset reference "None" could not be resolved.
 

Theres only this one character on the screen so it most be something with it. I tried to resave all assets, BPs, meshes, textures and so on, but to no avail. I get this warning every renderframe and due to the 0.2 second delay my framerate is currently in at an unplayable value.

Somebody else reported this here link text without any luck.

I need to find out what is causing the error and how to fix it ASAP, or my program is basically dead.

Thank you for your consideration

PS: No, I can not reproduce it on a clean project, so we can skip that step.

Product Version: UE 4.17
Tags:
more ▼

asked Sep 21 '17 at 11:28 AM in Bug Reports

avatar image

Wallenstein
652 36 47 77

avatar image Wallenstein Sep 23 '17 at 12:23 PM

I had to revert to 4.16.3 to be able to do any work. Unless I can find out what causes this message, Unreal update is dead for me since future versins will likely have the same bug.

Probably it is something that can be fixed by re-saving, but there must be info in the warning where that string asset is referenced. Alternatively I would imagine that, if the asset in question is "none" there should be no warning at all.

avatar image Flash7 Sep 27 '17 at 06:42 PM

I got the same problem while creating a widget (4.17.2):

 LogPackageName: Warning: String asset reference "None" is in short form, which is unsupported and -- even if valid -- resolving it will be really slow.
 LogPackageName: Warning: Please consider resaving package in order to speed-up loading.
 LogPackageName: SearchForPackageOnDisk took   0.090s, but failed to resolve None.
 LogPackageName: Warning: String asset reference "None" could not be resolved.
 LogPackageName: Warning: String asset reference "None" is in short form, which is unsupported and -- even if valid -- resolving it will be really slow.
 LogPackageName: Warning: Please consider resaving package in order to speed-up loading.
 LogPackageName: SearchForPackageOnDisk took   0.086s, but failed to resolve None.
 LogPackageName: Warning: String asset reference "None" could not be resolved.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

2 answers: sort voted first

Ok! I found what caused that error on my side (see screenshot). Item Slot is a structure. Wires were not connected. As soon as I connected - that warning disappeared.

alt text

more ▼

answered Sep 27 '17 at 06:52 PM

avatar image

Flash7
849 9 18 30

avatar image Wallenstein Sep 28 '17 at 11:09 AM

Thanks, but there is nothing of the sort in my program I can find. As long as there is no help from Epic, that is the end of the line for me.

I mean, come on, Epic you make a change somewhere in the code that breaks the program for some of us and we don't even get an acknowledgement in 6 days?

All we need is some meaningful output when you generate that error where it comes from, the blueprint name alone would be helpful. the message as it is it absolutely useless.

Can somebody from the team please respond?

avatar image Flash7 Sep 28 '17 at 02:18 PM

While Epic is looking at it (hopefully), have you tried to debug it through visual studio? Another option I would recommend is to make a copy of your project and start deleting code until you find a spot that causes it.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Yes, I got that idea myself today and spend all night slashing objects and code from my scene until I finally nailed down the location where this happens. Needless to say that the code has not changed between 4.16 and 4.17 and it worked with 4.16. I also can not see what is wrong here. I post screenshots that show the location. I am convinced this must be classified as a bug since I tried everything I could think of here and was not able to get rid of the error.

At the core is structure that is defined like this: alt text

I have an array of these structures that I use to store the game assets that are loaded during the game but for this test I have cut all that out and reduced it to the bare minimum. I have a function that returns a structure of this type. For now I cut out all the fancy stuff and just return an empty structure alt text

And then I call that function in the tick function here: alt text

The purpose of the whole thing is to check if the clothing or equipment on the character has changed, then load the respective clothing items and put them on the character. Normally the function would search the array for the clothing item with the given ID and return the structure from the array with the data, in case nothing is found, an empty structure would be returned just like here.

I tried to add dummy references to the mesh and skeleton field by referencing existing assets, but the result is the same.

So and there you have it. There is no string reference anywhere and yet this code generates the error under 4.17 while it didn't under 4.16 and I have no idea why.

Epic, I hope you can figure out what's going wrong here

untitled1.jpg (80.4 kB)
untitled2.jpg (67.1 kB)
untitled0.jpg (91.4 kB)
more ▼

answered Sep 28 '17 at 05:41 PM

avatar image

Wallenstein
652 36 47 77

avatar image Flash7 Sep 28 '17 at 06:21 PM

I did some lookup in C++ code: It does not look at string reference. String asset reference "None" - means that there is a referenced asset, but its path is empty. This is where your error is coming from.

 FString FPackageName::GetNormalizedObjectPath(const FString& ObjectPath)
 {
     if (!ObjectPath.IsEmpty() && FPackageName::IsShortPackageName(ObjectPath))
     {
         FString LongPath;
 
         UE_LOG(LogPackageName, Warning, TEXT("String asset reference \"%s\" is in short form, which is unsupported and -- even if valid -- resolving it will be really slow."), *ObjectPath);
         UE_LOG(LogPackageName, Warning, TEXT("Please consider resaving package in order to speed-up loading."));
         
         if (!FPackageName::TryConvertShortPackagePathToLongInObjectPath(ObjectPath, LongPath))
         {
             UE_LOG(LogPackageName, Warning, TEXT("String asset reference \"%s\" could not be resolved."), *ObjectPath);
         }
 
         return LongPath;
     }
     else
     {
         return ObjectPath;
     }
 }


Try to explicitly set your "skeletal" / "asset id for loading" members. Probably that error is coming from there.

BTW, I noticed starting with 4.16 a lot of changes I had to make into my C++ code. With 4.17 not as much as from 4.15 to 4.16 compliance, but still. Also in 4.17 some of my blueprints in older project are also giving me the same exact problem (String asset reference "None").

avatar image Flash7 Sep 28 '17 at 06:24 PM

Another option to test would be to make a new structure with integers only. Test it, then add skeletal mesh ref, test, then add asset id.

avatar image Wallenstein Sep 29 '17 at 06:30 AM

Yes I made a test project with the same type of structure etc. The culprit is clearly the last field in the structure the "Soft Object Reference". When I leave that empty it causes the error, when I give a dummy object from the test project (SK_Mannequin) it does not return the error. The problem is, I am trying to load objects on demand during the game without preloading them all when I dont need them. Up to now, this worked well. I have a static array where all my assets are referenced. I can probably work around this problem by checking if anyting is waiting to be loaded and then only call the load function where there is something to be returned, thus avoiding the empty return, but surely it is bad coding practice to change stuff like that in an engine that breaks exisiting project without even a warning or so. I mean it would be easy for them to generate a meaningful warning that allows us to figure this out and change our code without 2 days of detective work. Without your above hint I would never have figured that ouot because I was looking for an empty reference to a string and couldn't see any. I never thought that "string reference" means the path of a skeletal mesh in this case. These messages could be better.

avatar image Flash7 Sep 29 '17 at 01:55 PM

yeah, that is true. Sometimes messages from the Engine could be misleading. Most of the times I have to go to the Engine's sources to get down to it. But on another note, I see what Epic is doing: they are placing extra checks that were omitted before and making the code more reliable at the end. I know it is majorly sux and frustrating when a fully working code in older versions worked, but that probably was causing some performance or reliability issues in another places.

avatar image Wallenstein Oct 02 '17 at 01:16 PM

Anyway, thanks for your input, i would have had a hard time finding a workaround without your hints. Looks like Epic isn't giving a damn about this problem, none of them has seen fit to even respond to this bug report. Luckily now I can caontine to use the new UE versions, though I will most likely skip 4.17 since 4.18 is right around the corner. Might as well do the changes that come with that one together with this one

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
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