LogoLogo
⚠️ Outdated documentationGo to LatestHomeAPI
SDK 1.0
SDK 1.0
  • Welcome
  • Overview
    • What is coherence?
    • How does coherence work?
    • Rooms and Worlds
    • Features and Roadmap
    • Release Notes
    • Known Issues and Troubleshooting
  • Learning coherence
    • Beginner's Guide to Networking Games
    • First Steps tutorial
      • 1. Basic syncing
        • 1.2. Animation parameters
        • 1.3. Sending commands
      • 2. Physics / Authority transfer
      • 3. Areas of interest
      • 4. Parenting entities
      • 5. Complex hierarchies
      • 6. Persistence
    • Campfire project
      • Game mechanics
      • Leveraging object pooling
      • Remote interactions: Chairs
      • Remote interactions: Trees
      • A unique object with complex state
      • Custom instantiation and destruction
      • Running a server-side NPC
      • Playing audio and particles
      • A simple text chat
    • How to network...
      • Racing
      • Turn-based
      • First-Person Shooter
      • MMO
      • Fighting
  • Get started
    • Installation
    • Scene Setup
      • Samples
    • Prefab Setup: CoherenceSync
    • Local Development
      • Tips and Recommendations
    • coherence Cloud
      • Create a Free Account
      • Deploy a Replication Server
      • Share Builds
  • coherence SDK for Unity
    • Components
      • CoherenceSync
      • CoherenceBridge
      • CoherenceLiveQuery
      • CoherenceTagQuery
      • Order of execution
    • Asset Management
      • Using CoherenceSyncConfig to instantiate GameObjects locally
      • CoherenceSyncConfigRegistry Save Modes
    • Networking State Changes
      • Messaging with Commands
      • Hierarchies & Child Objects
        • Child GameObjects
        • Child CoherenceSyncs
        • Deep Child CoherenceSyncs
      • Animations
      • CoherenceSync References
      • [Sync] and [Command] Attributes
      • [OnValueSynced] Attribute
      • Supported Types
      • Creating your own syncable member
    • Baking (Code Generation)
    • Scene Management
    • Authority
      • Authority transfer
      • Server-authoritative setup
    • Lifetime
      • Persistence
      • Example – a global counter
    • Optimization
      • Simulation Frequency
      • Areas of Interest
      • Level of Detail (LOD)
    • Profiling
    • Interpolation
    • Rigid Bodies
    • Settings
    • Simulation Frame
    • Replication Server
    • Simulators
      • Scripting: Client vs Simulator
      • Local Development
      • World Simulators
      • Room Simulators
      • Simulator Slugs
      • Multi-Room Simulators
      • Build and Publish
      • Command-line arguments
      • Load Balancing
    • Client-Hosting
    • Client Connections
    • Rollback Networking Support
    • World Origin Shifting
    • CLI
    • Upgrading Unity SDK
      • Upgrading to coherence Unity SDK 1.0.0
      • Upgrading to coherence Unity SDK 0.9.0
  • coherence Cloud
    • Developer Portal
    • Dashboard
    • Worlds
    • Rooms
    • Lobbies
    • Game Services
      • Account
      • Key-Value Store
    • Using coherence Cloud in Unity
      • Worlds
      • Rooms
      • Lobbies
      • Game Services
        • Authentication Service (Player Accounts)
        • Key-value store
  • Schema explained
    • Overview
    • Specification
    • Field settings
    • Archetypes
  • coherence Scripting API
  • Additional resources
    • Community
    • Quick Samples
    • Continuous Integration
    • Unreal Engine Support
    • WebGL Support
    • Peer-to-Peer Support (P2P)
    • Pricing
    • SLA
    • Glossary
Powered by GitBook
On this page
  • Build a Simulator to be uploaded to the cloud
  • Configuring your Simulator build
  • Create and upload the build
  • Connecting your Simulator to a Room or World

Was this helpful?

Export as PDF
  1. coherence SDK for Unity
  2. Simulators

Build and Publish

Last updated 1 year ago

Was this helpful?

Build a Simulator to be uploaded to the cloud

A Simulator build is a built Unity Player for the Linux 64-bit platform that you can upload to coherence straight from the Unity Editor.

Open Coherence Hub and select the Simulators tab.

From here you can build and upload Simulators.

Click the little info icon in the top right corner to learn more about Simulators and how to build them properly.

Configuring your Simulator build

You can change your Simulator build options by editing the SimulatorBuildOptions object, or in the coherence Hub Simulators tab.

There are several settings you might want to change.

  • Specify the scenes you want to get in the build via the Scenes To Build field.

  • For a local build, you can choose to enable/disable the Headless Mode by ticking the checkbox. For a cloud build, Headless Mode is always enabled by default.

Create and upload the build

Make sure you meet the requirements:

Press the coherence Hub > Simulators > Build And Upload Headless Linux Client button.

When the build is finished, it will be uploaded to your currently selected organization and project in the Developer Portal.

Connecting your Simulator to a Room or World

You'll see in the developer dashboard when your Simulator is ready to be associated with a Room or World.

Target frame rate on Simulator builds is forced at 30.

Reducing Simulator build size (experimental ⚠️)

This feature is experimental, please make sure you make a backup of your project beforehand.

You can set the values for the Build Size Optimizations in the drop-down list of the build configuration inspector. It looks like this:

Select the desired optimizations depending on your needs.

Optimization
What it does

Replace Textures And Sounds With Dummies

Project's textures and sound files are replaced with tiny and lightweight alternatives (dummies). Original assets are copied over to <project>/Library/coherence/AssetsBackup. They are restored once the build process has finished.

Keep Original Assets Backup

The Assets Backup (found at <project>/Library/coherence/AssetsBackup) is kept after the build process is completed, instead of deleted. This will take extra disk space depending on the size of the project, but is a safety convenience.

Compress Meshes

Sets Mesh Compression on all your models to High.

Disable Static Batching

Once your Simulator is built and uploaded, you'll be prompted with the option to revert the settings to the ones you had applied before building. This is to avoid these settings from affecting other builds you make.

Choose your preferred Scripting Implementation from the drop-down list. It can either be or .

For more information about the options listed under Build Size Optimizations, see .

Make sure you have completed the steps required in .

You have to have Linux modules (Linux Build Support (IL2CPP), Linux Build Support (Mono), and Linux Dedicated Server Build Support) installed in Unity Editor. See .

You have to be logged into the coherence Developer Portal, through the Unity Editor. See for more information.

Static Batching tries to combine meshes at compile-time, potentially increasing build size. Depending on your project, static batching can affect build size drastically. Read more about .

Mono 2x
IL2CPP
Create an account
Unity - Manual: Adding modules to the Unity Editor
this section below
static batching
coherence Hub Simulators
coherence Hub Simulator Build Options
Recent simulators module on the dashboard
Login through Unity