Are bones required?

What if I have a prop that has simple keyframed animation?

are there docs on this anywhere? seems like import complains about there being no bones.

Afaik yes… it needs to have at least a root bone.

No, you don’t need to use bones. If you have more than one object you need to make sure they all are linked to a common root object (can be a dummy helper) otherwise it will separate them into separate skeletal meshes based on the roots.
If you’re doing that type of animation just make sure that “Import Rigid Animations” is checked when you import the file. Also, you can’t combine bone animation and rigid animation, just so you know.