Programming
Fundamentals
Setting Up Development Environment
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes

Syncker-Specific Options

There are 2 types of Syncker-specific options:

  • Command-line options, which allow specifying the screen configuration, a broadcast address of the master computer and a FPS value on the application start-up. This options have the same syntax as the other start-up command-line options.
  • Console options that can be run from the application console on the master or slave sides.

Command-Line Options

Master Options

The following command-line options can be run on the master application start-up:

Name Description Arguments Default
master_address Sets a broadcast address of the mater computer that is used to broadcast messages to slaves from the master over the network.
Shell commands
main_x86 -master_address "xxx.xxx.xxx.xxx"
A broadcast address in the xxx.xxx.xxx.xxx format. 192.168.0.255
master_fps Sets a fixed FPS value used to render the applications on all computers connected via Syncker (master and slaves).
Shell commands
main_x86 -master_fps "30"
FPS value. 60

Slave Options

The following command-line options can be run on the master application start-up:

Name Description Arguments Default
slave_name Sets a name of the slave computer used to display connect/disconnect messages.
Shell commands
main_x86 -slave_name "slave1"
A slave name, string. unknown
slave_mesh Specifies a mesh for the slave. The mesh represents a configuration of monitors, onto which the application is rendered (1 unit = 1 meter). Each surface of the mesh corresponds to one of the monitors. Projection and modelview matrices are automatically calculated on the basis of the camera position and slave name.
Notice
Check the full list of mesh requirements here.
Shell commands
main_x86 -slave_mesh "my_project/meshes/my_mesh.mesh"
A path to the .mesh file. No mesh is set by default.
slave_grid_x Sets the number of monitors in a row (horizontally).
Shell commands
main_x86 -slave_grid_x "3"
Number of monitors. 1
slave_grid_y Sets the number of monitors in a column (vertically).
Shell commands
main_x86 -slave_grid_y "2"
Number of monitors. 1
slave_view_x Sets the number of the monitor in a row (horizontally).
Shell commands
main_x86 -slave_view_x "1"
0-bazed index of the monitor in a row (horizontally). 0
slave_view_y Sets the number of the monitor in a column (vertically).
Shell commands
main_x86 -slave_view_y "1"
0-bazed index of monitor in a column (vertically). 0
slave_bezel_x Sets the horizontal bezel compensation for the slave monitor.
Shell commands
main_x86 -slave_bezel_x "0.2"

Horizontal monitor frame compensation.

The possible value range is [0;1]:

  • 0 is no bezel compensation
  • 1 is a half screen-size compensation
0
slave_bezel_y Sets the vertical bezel compensation for the slave monitor.
Shell commands
main_x86 -slave_bezel_y "0.2"

Vertical monitor frame compensation.

The possible value range is [0;1]:

  • 0 is no bezel compensation)
  • 1 is a half screen-size compensation
0
slave_angle Sets turning angle compensation for a slave monitor. If the angle compensation is applied horizontally or vertically depends on the monitor configuration.
Notice
  • If there is a larger number of monitors in a row than in a column, horizontal compensation is set.
  • On the contrary, if there is a larger number of monitors in a column, vertical compensation is set.
Shell commands
main_x86 -slave_angle "45"
Turning angle compensation in degrees. 0

Console Options

Master Options

The following console options can be run on a master computer.

Name Description Arguments
master_address
  • Variable. Prints the current broadcast address of the master computer.
  • Command. Sets a broadcast address of the mater computer that is used to broadcast messages to slaves from the master over the network.

A broadcast address in the xxx.xxx.xxx.xxx format.

By default, the 192.168.0.255 address is used.

master_fps
  • Variable. Prints the current FPS value.
  • Command. Sets a fixed FPS value used to render the applications on all computers connected via Syncker (master and slaves).

FPS value.

By default, 60 FPS is used.

master_mesh
  • Variable. Lists the slaves and meshes specified for each of them in the following format:
    Source code
    <slave_name>(<slave_network_address>): <mesh_name>
  • Command. Sets the specified mesh for all slaves connected to the master computer. The mesh represents a configuration of monitors, onto which the application is rendered (1 unit = 1 meter). Each surface of the mesh corresponds to one of the monitors. Projection and modelview matrices are automatically calculated on the basis of the camera position and slave name. The surface name should match the name of the corresponding slave.
    Notice
    Check the full list of mesh requirements here.
A path to a .mesh file that contains a mesh representing the screen configuration.
master_run
  • Command. runs the specified console command on all slave applications. Up to four arguments are supported for passing.
A console command.
master_grid
  • Variable. Prints the current monitor configuration.
  • Command. Sets the monitor configuration to be used.
    Notice
    By default, the master itself is not included in the configuration.

x specifies the number of monitors in a row (horizontally).

y specifies the number of monitors in a column (vertically).

Notice
Both arguments are required for the command.
master_view
  • Variable. Lists the viewport configuration used for each slave.
master_bezel
  • Variable. Lists the bezel compensation used for each slave.
  • Command. Sets the bezel compensation for all slave monitors.

x is for horizontal monitor frame compensation.

y is for vertical monitor frame compensation.

The possible range of values is [0;1]:

  • 0 is no bezel compensation
  • 1 is a half screen-size compensation
Notice
Both arguments are required for the command.
master_angle
  • Variable. Lists the turning angle compensation for each slave.
  • Command. Sets turning angle compensation for a master monitor. The value is specified in degrees. If the angle compensation is applied horizontally or vertically depends on the monitor configuration.
    • If there is a larger number of monitors in a row than in a column, horizontal compensation is set.
    • On the contrary, if there is a larger number of monitors in a column, vertical compensation is set.
Turning angle compensation in degrees.
master_radius
  • Command. Specifies the radius around the player to synchronize nodes on the slave computers with a master one. Distance is specified in units.
    Notice
    Only nodes loaded from a *.world file are synchronized. Nodes dynamically created in scripts or added in the editor cannot be synchronized.
Radius in units.
master_materials
  • Command. Specifies the radius around the player to synchronize materials on the slave computers with a master one. Distance is specified in units.
    Notice
    Only materials loaded from a material library (*.mat file) are synchronized. Materials dynamically created in scripts or inherited in the editor cannot be synchronized.
Radius in units.

Slave Options

The following console options can be run on a slave computer.

Name Description Arguments
slave_name
  • Variable. Prints the current name of the slave computer.
  • Command. Sets a name of the slave computer used to display connect/disconnect messages. By default, unknown is used.
After the name is changed, you should reload the editor script in the slave application and then reload the master script for changes to come in effect.
A slave name, string.
slave_mesh
  • Variable. Prints the path to the mesh, which is currently set for the slave.
  • Command. Specifies a mesh for the slave. The mesh represents a configuration of monitors, onto which the application is rendered (1 unit = 1 meter). Each surface of the mesh corresponds to one of the monitors. The surface name should match the name of the corresponding slave. Projection and modelview matrices are automatically calculated on the basis of the camera position and slave name.
    Notice
    Check the full list of mesh requirements here.
A path to the .mesh file.
slave_grid
  • Variable. Prints the current monitor configuration.
  • Command. Sets the monitor configuration to be used.

x specifies the number of monitors in a row (horizontally)

y specifies the number of monitors in a column (vertically).

Notice
Both arguments are required for the command.
slave_view
  • Variable. Prints the number of the monitor, which is currently used a slave computer viewport.
  • Command. Sets the number of the monitor to be used as a slave computer viewport.

x is a 0-based index of the monitor in a row (horizontally)

y is the index of monitor in a column (vertically)

The first monitor both in a row and in a column will have the (0,0) index.
Notice
Both arguments are required for the command.
slave_bezel
  • Variable. Prints the current bezel compensation set for the slave monitor.
  • Command. Sets the bezel compensation for the current slave monitor.

x is for horizontal monitor frame compensation

y is for vertical monitor frame compensation.

The possible range of values is [0;1]:

  • 0 is no bezel compensation
  • 1 is a half screen-size compensation
Notice
Both arguments are required for the command.
slave_angle
  • Variable. Prints the current turning angle compensation for a slave monitor.
  • Command. Sets turning angle compensation for a slave monitor. The value is specified in degrees. If the angle compensation is applied horizontally or vertically depends on the monitor configuration.
Notice
  • If there is a larger number of monitors in a row than in a column, horizontal compensation is set.
  • On the contrary, if there is a larger number of monitors in a column, vertical compensation is set.
Turning angle compensation in degrees.
Last update: 2017-07-03