V3.0 and command line build not importing assets correctly

Hey there,
I’m using Cocos Creator 3.0 to build web-desktop and web-mobile
From the editor I’m able to build correctly and it works.
But from the command line I got this in the build log:

"Asset({asset(db://assets/Models/Environment/Materials/Floor.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://internal/default-material.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Environment/Materials/Environment_Material.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Environment/Materials/Grass_Material.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Character/Male_Body.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Character/Male_Head.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Weapons/Materials/Weapons_Material.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Character/Male_Body.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Character/Male_Head.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Weapons/Materials/Weapons_Material.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://internal/effects/builtin-standard.effect)},cc.EffectAsset) does not have serialized json in library"
"Asset({asset(db://assets/Models/Environment/Materials/Grass_Material.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://internal/effects/builtin-standard.effect)},cc.EffectAsset) does not have serialized json in library"
"Asset({asset(db://assets/Models/Character/Male_Head.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Environment/Materials/Floor.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Environment/Materials/Floor.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Weapons/Materials/Weapons_Material.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Environment/Materials/Environment_Material.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://internal/default-material.mtl)},cc.Material) does not have serialized json in library"
"Asset({asset(db://assets/Models/Character/Male_Body.mtl)},cc.Material) does not have serialized json in library"

Which makes that during runtime I can not load the scene because it does not find this assets and just throws this in the console:

cc.js:577 The json file of asset 279d210d-c301-48b8-a528-f6c43d56fc2a is empty or missing Error: The json file of asset 279d210d-c301-48b8-a528-f6c43d56fc2a is empty or missing
cc.js:577 The json file of asset 279d210d-c301-48b8-a528-f6c43d56fc2a is empty or missing Error: The json file of asset 279d210d-c301-48b8-a528-f6c43d56fc2a is empty or missing
cc.js:577 The json file of asset 279d210d-c301-48b8-a528-f6c43d56fc2a is empty or missing Error: The json file of asset 279d210d-c301-48b8-a528-f6c43d56fc2a is empty or missing
cc.js:577 The json file of asset 279d210d-c301-48b8-a528-f6c43d56fc2a is empty or missing Error: The json file of asset 279d210d-c301-48b8-a528-f6c43d56fc2a is empty or missing
cc.js:577 The json file of asset 279d210d-c301-48b8-a528-f6c43d56fc2a is empty or missing Error: The json file of asset 279d210d-c301-48b8-a528-f6c43d56fc2a is empty or missing
cc.js:577 Error: The json file of asset 279d210d-c301-48b8-a528-f6c43d56fc2a is empty or missing
cc.js:577 The json file of asset 1baf0fc9-befa-459c-8bdd-af1a450a0319 is empty or missing Error: The json file of asset 1baf0fc9-befa-459c-8bdd-af1a450a0319 is empty or missing
cc.js:577 The json file of asset 1baf0fc9-befa-459c-8bdd-af1a450a0319 is empty or missing Error: The json file of asset 1baf0fc9-befa-459c-8bdd-af1a450a0319 is empty or missing
cc.js:577 The json file of asset d3c7820c-2a98-4429-8bc7-b8453bc9ac41 is empty or missing Error: The json file of asset d3c7820c-2a98-4429-8bc7-b8453bc9ac41 is empty or missing

From the build log it seems that the correct would be to get something like this:

"getSerializedJSON: Use cache serialized JSON of asset ({asset(db://internal/default_ui/default_btn_disabled.png)})"
"getSerializedJSON: Use cache serialized JSON of asset ({asset(db://internal/default_renderpipeline/builtin-forward.rpp)})"
"getSerializedJSON: Use cache serialized JSON of asset ({asset(db://assets/Models/Weapons/Materials/Weapons_Texture.png)})"
"getSerializedJSON: Use cache serialized JSON of asset ({asset(db://assets/Textures/UI/Btn_BG_256px.png/spriteFrame)})"
"getSerializedJSON: Use cache serialized JSON of asset ({asset(db://assets/Textures/bitcake-logo-horizontal-transparentwhite-512x256.png)})"
"getSerializedJSON: Use cache serialized JSON of asset ({asset(db://assets/Scenes/Game/Prototype-001.scene)})"
"getSerializedJSON: Use cache serialized JSON of asset ({asset(db://internal/default_ui/default_btn_pressed.png)})"
"getSerializedJSON: Use cache serialized JSON of asset ({asset(db://internal/default_ui/default_btn_normal.png)})"

This does not happen when building from the Editor UI.
What I can do to fix this?

Hey there

We identified that the problem was the context from where Teamcity was executing the build agent.

We had it configured as a windows service.

We changed so it now starts from the .bat and starts an executable that lives in the user context not on the windows service’s context.

This fixed the issue.

Thanks for posting the reason and solution here

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.