A Cavrnus Space is ultimately just data in the Cloud. This means that any number of dissimilar Applications could, in theory, connect to a single space.
This is not a common use case, but it can be highly valuable in some circumstances.
For this example, we will show a simple 2-sided experience. Once user will be in a 3d world viewing shapes. The other user will have a 2d control panel, controlling which shapes are visible.
The 3d Shape Viewer
The 3d Shape Viewer is built in a very similar way to many of our previous examples. We simply set up a sample blueprint asset that syncs its visibility using the AC_SyncVisibility component and a CavrnusPropertiesContainer component, and create three instances with distinct shapes, colors and a unique container name.
Given how they are set up, this means that the data this Application is looking for is the “Visibility” bool in the Property Containers: “Cylinder”, “Cube”, and “Cone”.
The 2d Control Panel
Next, we are going to make a completely separate Control Panel Application.
For this, we will put together a very basic UI panel to show the three shapes and their visibility status:
We will then hook this UI up to the Properties with a simple script:
in Blueprints:
Final Result
With this done we can now build both Applications.
The 2d Control Panel Application will see the Viewer App’s user and be able to talk to them. They can also toggle the status of the Shapes.
The View App, meanwhile, will see the Control Panel’s user, and will see their shapes Appear appear and Disappear disappear in response to that user’s actions.