[Since Object Container Streaming touches just about every aspect of Star Citizen and everything in the game gets a fundamental change to its underlying structure,] is that daunting?
TL;DRYes, it is daunting: it touches many teams, and making the roughly hundred components on the actor thread safe creates a deep dependency graph across audio, AI and other teams.
Yes, definitely. I personally haven't worked on that side of things.
Yeah, I think the amount of teams it touches, even... One of the changes we've been having to make for the async spawning stuff: all the components of the game have had to be made thread safe so they can be spawned off the main thread. For the actor, that means all the actor's components first need to be made thread safe. So you've got a bunch of components that need to be done by the audio team, a bunch that need to be done by AI, a bunch that need to be done by all these different people, and some components depend on other ones being done first. So I can't convert, for instance, the local player component until the particle stuff was converted. So we've got this big dependency graph that sometimes goes several levels deep before you can actually get to it. And there's just an awful lot of stuff. There's a hundred-odd components on the actor now.