3

I have a scriptable asset containing a fxbModel on a GameObject variable and with it i'am doing this:

model = Instantiate(caAsset.model, origin);
fbxComponents.All(fbxComponent => fbxComponent.gameObject.AddComponent<MeshCollider>());

Is the asset loaded from Ressources, everything works well.*

But is the asset from a AssetBundle** the following error occurs.

CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. 
Mesh asset path "" Mesh name "Flanschdeckel_low"
UnityEngine.GameObject:AddComponent()

(*)
MyScriptableAsset caAsset = Resources.Load(scriptableObjectName);

(**)
MyScriptableAsset caAsset = bundle.LoadAsset<MyScriptableAsset>(scriptableObjectName);

row
  • 131
  • 2
  • 11

1 Answers1

4

There's a read/write enabled property on fbx files on the model tab under mesh sub text if you tick that box it'll probably work. Check right corner on image for better understanding.enter image description here

rob1997
  • 176
  • 7
  • Yes, that makes the trick. Thank you. I found out, that unity further has this checkbox checked on fbx import. I have not found a way to edit this setting, but with https://docs.unity3d.com/ScriptReference/Mesh-isReadable.html it is possible to control the process of creating asset bundles by informing the user who is creating the asset. – row Dec 12 '19 at 12:04