Let's take a quick look at Obi's core components and the role they play:
A solver is a component that performs physics simulation. Solvers expose a few global simulation parameters such as gravity, inertia scale, or velocity damping, as well as global parameters for all constraints in the solver. Each solver will simulate all child actors it finds in its hierarchy, for this it can use multiple backends (Obi 5.5 and up only).
An updater is a component that advances the simulation of one or multiple solvers, keeping them in sync with Unity's own physics engine. Several types of updater are included with Obi to cover common use cases, but you can write your own if you need to precisely control the simulation update cycle.
A blueprint is an asset that stores a bunch of particles and constraints. It does not perform any simulation or rendering by itself. It's just a data container, not unlike a texture or an audio file. Blueprints are generated from meshes (ObiCloth and ObiSoftbody), curves (ObiRope) or material definitions (ObiFluid).
An actor is a component that instantiates a blueprint inside a solver. All actors must be children of a solver. Multiple actors can share the same blueprint, in fact reusing the same blueprint as much as possible is encouraged. Examples of actors are a rope, a flag, a bouncy jelly, or a water emitter.
Here's a diagram showing a scene with two solvers: one simulating 3 identical cloth pieces, and another one simulating 2 identical ropes:
Each solver maintains several lists or per-particle properties: positions, velocities, radii, etc. Initially, these lists have no elements. Whenever a new actor is added to a solver, these steps take place:
Once an actor has been added to a solver, it is included in the simulation.