Sites

Menu
These are the docs for 13.6, an old version of SpatialOS. The docs for this version are frozen: we do not correct, update or republish them. 14.0 is the newest →

Component delivery

component_delivery is an optional field in the bridge configuration section of a worker configuration file.

This field configures the set of components a worker instance checks out when they check out an entity, and whether component updates are allowed to be sent in an unreliable manner.

By default:

  • only components with checkout_initially set to true are sent to the worker instance
  • the transmission for all component updates is RELIABLE_ORDERED

Query-based interest

You can use query-based interest instead of changing the component delivery settings. Query-based interest lets you write queries to express precisely which components on other entities you are interested in, meaning that the worker instance only receives updates relevant to what it is simulating.

Components to check out initially

To specify the set of components a worker instance will get when they check out an entity, use the following fields of component_delivery:

  • checkoutAllInitially (boolean). By default, this is set to false, which means only the components with checkout_initially set to true are sent to the worker instance when it checks out an entity.

    If set to true, all components are sent to the worker instance when it checks out an entity.

  • override maps fully-qualified component names to component delivery settings.

    Components without an override use the default message delivery settings as specified in the default field. They are only checked out initially if checkoutAllInitially is true.

The 4 permutations of these settings for a particular component C therefore lead to the following behaviour:

  1. checkoutAllInitially is false or isn’t specified and the checkout_initially override is false or isn’t specified for C - C is not checked out
  2. checkoutAllInitially is true and the checkout_initially override is false or isn’t specified for C - C is checked out
  3. checkoutAllInitially is false or isn’t specified and the checkout_initially override is true for C - C is checked out
  4. checkoutAllInitially is true and the checkout_initially override is true for C - C is checked out

Individual component overrides only have an effect when checkoutAllInitially is false or isn’t specified.

The worker instance can also change the set of components it is interested in at runtime - see the API documentation (C++, C#, Java) for more details.

Search results

Was this page helpful?

Thanks for letting us know!

Thanks for your feedback

Need more help? Ask on the forums