I’ve migrated a few assets from my previous project and when packaging, log displays warnings like:
LogLinker:Warning: Asset '../../../../../../Unreal Projekty/eqTEST/Content/Potwory/Materialy/LightHouseBoss.uasset' has been saved with empty engine version. The asset will be loaded but may be incompatible.
How do i get rid of these warnings when i have pure Blueprint project? The project is working, but i have a lot of these warnings in my log. I have 4.6.1.
Thankyou SunMachineYanny. I ran the command you suggested and it worked very nicely so all my warnings are now gone. I would just add that the project must not be open for the command to work. It will run but have no effect if the project is open.
Where did you find out about this may I ask? I often feel there is a secret store of information that I am not privy to.
Fantastic that someine else has had problems you never thought was possible… so many ■■■■ pits that all of a sudden appears where you’re walking around in this engine.
Script for 5.1 I wrote to fix this warning on 11K files. Before 5.1 package_name property was called otherwise, so will have to change it if want to use it for earlier versions.
The idea is just to use unreal.EditorAssetLibrary.save_asset instead of manual opening and saving. I save progress because it will crash sometimes because of memory lack or some specific file issues and then won’t have to run from 0, the fixed assets will be skipped.
import os
import unreal
import json
# Change me!
assets_to_ignore = [
"Maps/Levels/Zedek.umap"
]
asset_root_dir = "/Game/"
json_progress_path = "C:/Users/JediKnight/Documents/Unreal Projects/ECR/Script/Python/Others/temp.json"
asset_reg = unreal.AssetRegistryHelpers.get_asset_registry()
def update_progress_json():
with open(json_progress_path, "w") as f:
json.dump({"processed": processed_paths}, f, ensure_ascii=False, indent=4)
def should_ignore_asset(asset_path):
asset_path = str(asset_path).lower()
for ignore_asset in assets_to_ignore:
ignore_asset = ignore_asset.lower().replace(".uasset", "").replace(".umap", "")
if asset_path.endswith(ignore_asset):
return True
return False
processed_paths = []
if os.path.exists(json_progress_path):
with open(json_progress_path, "r") as f:
data = json.load(f)
processed_paths = data["processed"]
assets_to_ignore += processed_paths
assets = asset_reg.get_assets_by_path(asset_root_dir, recursive=True)
for asset in assets:
print("Got", asset.package_name)
if should_ignore_asset(asset.package_name):
print("Ignoring", asset.package_name)
continue
else:
print("Not ignoring", asset.package_name)
unreal.EditorAssetLibrary.save_asset(asset.package_name, False)
print("Saved", asset.package_name)
processed_paths.append(str(asset.package_name))
update_progress_json()
The above script unfortunately didn’t work for me, I tried running the command with both “-OnlyUnversioned” and without, neither seemed to prevent the warnings during packaging after they finished execution. I’m upgrading my project from a custom version of UE to version 5.2, maybe that might have something to do with it, IDK.
In any case, what did work for me was to right click the folder(s) in the editor containing the unversioned assets and pressing “Resave All”. After that the warnings disappeared from packaging. I tried doing this on the content folder first but UE crashed, so I simply went one by one through the root folders in my project and resaved the ones containing the problematic assets. Note: Can take awhile.
was getting really frustrated trying to run this in cmd and terminal. Finally got the script to work on using the ‘run’ app. It accepts spaces in the syntax, no need for underscores (worked for me on win 11)