Hi @Kabe
EDIT: I realize you may mean you'd like to edit a USDZ file directly with Reality Composer Pro. This is indeed not possible (do you have access to a DCC like Blender or Maya that is designed for this sort of task?), although you can create a new USD using References to entities in your imported asset.
(If that's not what you meant, please keep reading!)
When you load an Entity
from an asset at runtime, you are free to add, remove, and modify any Component
s you like.
When the documentation says "Reality Composer Pro treats your imported assets as read-only" this means that Reality Composer Pro will not modify the assets that you import into your project. It is not referring to your ability to manipulate and change entities at runtime once you have loaded them from those assets.
Here's an example of what I mean by modifying an Entity
at runtime: I'll change the first material on an asset called "Robot.usdz" in realityKitContentBundle
so that it is completely red:
var modelEntity = try await ModelEntity.init(named: "Robot", in: realityKitContentBundle)
var model = modelEntity.components[ModelComponent.self]!
var materials = model.materials
materials[0] = SimpleMaterial(color: .red, isMetallic: false)
model.materials = materials;
modelEntity.components.set(model)
Sorry for the confusion, let me know if this helps!