Now that I've been experimenting with the Unity SDK a bit more, I'm now starting to feel confused about what ArcGIS3DObjectSceneLayers really contain and what they're really capable of.
Firstly, for background, I started with a set of (extruded) building models in ArcGIS Pro, each of which had their own distinct geometries, IDs and other attribution. All of that was then packed into a single .slpk, which I then introduced into the Unity environment (I've successfully tried the UI and C# approaches). So far, so good. I've also been experimenting with the raycast code example, which is returning me back featureIDs when I click onto the different models. I've not tried adapting the attribution example to my own code, but am at least familiar with what that can do, from looking over the New York example.
Anyhow, although this has all gone reasonably well, I'm feeling confused. My initial assumption was that the distinct building objects that I started out with would remain as separate entities withing the i3s file. The documentation for the ArcGIS3DObjectSceneLayer actually says "Public class that will contain a layer with a 3d objects inside". And yet, although attributes from those objects area clearly still available, I'm not seeing anything that would allow me to reference or interrogate those objects directly. When I saw that the raycast demo was returning featureIDs, I assumed that I'd then be able to use those IDs to reference feature objects, but, so far, I've not found anything that seems to offer that.
So, is there an aspect of the SDK that I've missed? Or, maybe, is there a key aspect of i3s that I'm not really understanding?
So the story is incomplete right now for SLPKs. Some 3d object layers stored on a Scene Layer have an associated feature layer, these Feature layers can be queried with the feature id but if you are using an slpk unfortunately that information is still stored within the slpk but we aren't providing an easy way to do a lookup.