Some static meshes are not packaged

Since upgrading to 4.11.1 I’ve started to get this messages during packaging:

MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.04.10-16.24.39:515][  0]LogCook:Display: Cooking /Game/Meshes/Airplanes/FokkerDr1/SM_Fok_Engine -> D:/Unreal/Unreal Projects/MMT_Content2/Saved/Cooked/WindowsNoEditor/MMT_Content2/Content/Meshes/Airplanes/FokkerDr1/SM_Fok_Engine.uasset
    MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.04.10-16.24.39:516][  0]LogSavePackage:Display: Package loaded by editor-only properties: /Game/Meshes/Airplanes/FokkerDr1/SM_Fok_Engine. Package will not be saved.
    MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.04.10-16.24.39:516][  0]LogCook:Display: Cooking /Game/Meshes/Airplanes/FokkerDr1/SM_Fok_ElevatorRight -> D:/Unreal/Unreal Projects/MMT_Content2/Saved/Cooked/WindowsNoEditor/MMT_Content2/Content/Meshes/Airplanes/FokkerDr1/SM_Fok_ElevatorRight.uasset
    MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.04.10-16.24.39:516][  0]LogSavePackage:Display: Package loaded by editor-only properties: /Game/Meshes/Airplanes/FokkerDr1/SM_Fok_ElevatorRight. Package will not be saved.
    MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.04.10-16.24.39:517][  0]LogCook:Display: Cooking /Game/Meshes/Airplanes/FokkerDr1/SM_Fok_ElevatorLeft -> D:/Unreal/Unreal Projects/MMT_Content2/Saved/Cooked/WindowsNoEditor/MMT_Content2/Content/Meshes/Airplanes/FokkerDr1/SM_Fok_ElevatorLeft.uasset
    MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.04.10-16.24.39:517][  0]LogSavePackage:Display: Package loaded by editor-only properties: /Game/Meshes/Airplanes/FokkerDr1/SM_Fok_ElevatorLeft. Package will not be saved.
    MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.04.10-16.24.39:517][  0]LogCook:Display: Cooking /Game/Meshes/Airplanes/FokkerDr1/SM_Fok_AileronRight -> D:/Unreal/Unreal Projects/MMT_Content2/Saved/Cooked/WindowsNoEditor/MMT_Content2/Content/Meshes/Airplanes/FokkerDr1/SM_Fok_AileronRight.uasset
    MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.04.10-16.24.39:518][  0]LogSavePackage:Display: Package loaded by editor-only properties: /Game/Meshes/Airplanes/FokkerDr1/SM_Fok_AileronRight. Package will not be saved.
    MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.04.10-16.24.39:518][  0]LogCook:Display: Cooking /Game/Meshes/Airplanes/FokkerDr1/SM_Fok_AileronLeft -> D:/Unreal/Unreal Projects/MMT_Content2/Saved/Cooked/WindowsNoEditor/MMT_Content2/Content/Meshes/Airplanes/FokkerDr1/SM_Fok_AileronLeft.uasset
    MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.04.10-16.24.39:518][  0]LogSavePackage:Display: Package loaded by editor-only properties: /Game/Meshes/Airplanes/FokkerDr1/SM_Fok_AileronLeft. Package will not be saved.

Which results in meshes not being loaded in run time. These meshes are used as static mesh components of airplane, so I’m not sure why they are not cooked or marked as editor only.
Full project can be found here: .com/BoredEngineer/MMT_Content
To package it you need to add a dummy c++ class first.

I did managed to compile it successfully ones, by re-importing mentioned assets and compiling with VS open (trial and error approach), this doesn’t work anymore.

I’ve started to experience this issue after two significant changes - updating to 4.11.1 and adding a larger landscape for airplanes level.

I had a similar issue when I upgraded to 4.10. It looks like your static meshes are reference by ‘editor-only’ properties and they won’t get packaged and you can’t access them at run-time outside the editor. The thing was that the properties (in my case a Target sprite component, which I was using to get a location from) weren’t shielding the blueprint from the fact that the component was only accessible in editor and in PIE.

It’s important to note that I was able to access it in a previous version of the engine, and so the issue wasn’t apparent until i packaged the game for 4.10.

I’d start looking at that.

I don’t really understand what you mean. What do you mean by “static meshes are reference by ‘editor-only’ properties”?

I’ve removed a single 4x4k texture and project packaged just fine. That texture didn’t had any relation to static meshes, so I get another random effect.

Some properties are guarded with for example:

#if WITH_EDITORONLY_DATA
private_subobject:
	DEPRECATED_FORGAME(4.6, "SpriteComponent should not be accessed directly, please use GetSpriteComponent() function instead. SpriteComponent will soon be private and your code will not compile.")
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Display, meta = (AllowPrivateAccess = "true"))
	class UBillboardComponent* SpriteComponent;

Such properties are not available in-game. I was suggesting you check the properties relating to that with regard to the suspect packages. It is basically saying that ‘we found a reference to this package, but since it’s in a property only available in editor, we are not going to load it’.

But they are just regular static meshes, they are not special in any way. All what happens to them is they are part of the pawn as static mesh components and have to animation using local rotation. There are plenty of other meshes that are used in exactly the same way but not affected by this.

Let me check if maybe some function got deprecated but I doubt it. Plus this behavior would be consistent then, but it’s not.

There are two BP functions are called on them - GetRelativeRotation and SetRelativeRotation. That’s it.

Can you post a screen cap of the blueprint where you are referencing/accessing the static meshes or are they just dropped into the level as scenery?

Sure. They are used as meshes for static mesh component inside of the pawn:

Gotcher, sorry, I’m not seeing what is wrong off the bat. It will take more study. Maybe someone else here sees what is going on?

Hello BoredEngineer,

Was this project converted from 4.10 or an earlier version of the engine? If so, do you still have a copy of the project in the previous version? Please try migrating the content from the old project to a new project created in 4.11.1 using the editor’s content migration tools and see if that fixes the problem for you. This is a common workaround for problems that are caused by conversion.

Hi ,

Yes, it was converted from 4.10. I could try migrating but there are quite a lot of bug fixes and changes where done after 4.10.
Do you think this would work? - Create a new empty project in 4.11, migrate all content from 4.10 version and then migrate the same assets from 4.11 on top of that to merge changes.
Alternatively I could try migrating only those static meshes that are effected.

I’ve the same issue. The project was converted from 4.10 to 4.11 as well (running now 4.11.1).

But the Static Mesh that is having the “Package loaded by editor-only properties” problem was added after the project conversion.

By duplicating the SM in the Content Browser. I’m able to package it. It seems to be a workable workaround. Also it seems as the duplicate item can be deleted afterwards.

I’ve tried your temporary solution of duplicating problematic meshes and using duplicates instead of original. It did worked at least ones. It’s something! :smiley:

Tried it multiple times and indeed it works - duplicate problematic static mesh, point all references to the new mesh and get rid of old one. Works consistently.

Narrowed done this issue further. This problem happens on some of the static meshes which are selected as Preview meshes in sockets of other static meshes. Removing them from Preview solves the problem.

Had the same issue. Converted from 4.10 → 4.11. Duplicating the problematic mesh + deleting the old mesh + redirecting all references to the new mesh worked also for me.