Bolt Settings
Photon Bolt has several settings that can be configured on the Bolt Settings
window (Bolt/Settings
).
Here we list these settings:
Replication
Simulation Rate: Bolt will automatically set Unity’s FixedUpdate
rate to the SimulationRate
specified in the Bolt Settings
. Bolt runs almost entirely off FixedUpdate
internally (via the BoltPoll
component, which has a low script execution order so it runs first). This is used for ExecuteCommand
, SimulateController
, SimulateOwner
, transform extrapolation, and everything else that uses FixedUpdate
).
Network Rate: Determines how many simulation ticks occur between sending a network packet. By default Bolt sets the simulation rate to 60 and the network rate to 3. This means there are three fixed update ticks per each packet. This means there are 20 packets per second sent by default and 60 fixed update simulation ticks per second.
Max Priorities: The highest priority an Entity
and Property
can have.
Disable Dejitter Buffer: Check to disable the internal dejitter buffer.
Dejitter Delay: Configure how sensitive the dejitter is.
Scoping Mode: Configure the scoping mode. More info here.
Instantiate Mode: Configure the instantiation behavior of Bolt Entities. It can be set to Server Only
, Everyone
(Server and Clients), and Per Prefab
.
Override Time Scale: Enable Bolt to force the Unity's Time Scale to be set to value one (1) automatically if it changes. It is not recommended to disable this (if you want the game to pause for example you should use Chronos
).
IEntityBehavior Query, IPriorityCalculator Query, IEntityReplicationFilter Query: Configure how the components will be queried within the GameObjects. The search can be done by Component (only the first component is returned), Components (in which a list with all components of the same type is returned), and ComponentsInChildren (that will search inside the children too).
Connection
Limit: The maximum number of allowed peers on the session, this includes the server itself. After the server reaches this number, new player connections will fail automatically.
Timeout: The connection timeout in milliseconds. After this period of time, if no replies from the remote connection, the peer will be disconnected. On the Server side, a client will be dropped after this time, on the Client side, it will disconnect itself.
Connect Timeout: The timeout between each connection attempt. As the client needs to wait some time for the Server reply, you can configure the waiting period on this parameter. Lower values do not mean a fast connection.
Connect Attempts: The total number of connection attempts before the connection fails.
Accept Mode: Configure the Accept Mode
used by the Game Server to let clients connect to it. By default, it's set to Auto
, which means it will accept any client, or you can set to Manual
, and treat each connection individually. You can read more about this on this page.
Packet Size: The MTU size in bytes of the Bolt packet. As Photon Bolt uses UDP and does not perform fragmentation/reassembly, the maximum size is also limited by the MTU of the UDP itself.
Client Connection Metrics: Enables the connection metrics with the server. With this option enabled, you can check some connection stats by looking at the Bolt Remotes
window (open it on Bolt/Remotes
menu).
Photon Services
App Id: Photon Cloud Application ID. In order to access the Cloud features, you need a valid Application registered on the Photon Dashboard.
Region: The region that your player will try to connect when starting Bolt using the PhotonPlatform
. If you prefer to not use a fixed Region
and let the player connect the nearest region, select Best Region
in the options menu.
NAT Punchthrough Enabled: Enables the NAT Punch capabilities of Photon Bolt when using the PhotonPlatform
. With this option enabled, Bolt will try to establish a direct connection between client and server, if its not possible, will fallback to a relayed connection using the Photon Cloud.
Room Create Timeout: The timeout for the Session creation on the Photon Cloud. When starting as a Server, you can create a Session so other players can find and connect to it.
Room Join Timeout: The timeout for joining a Session. Starting as a Client, you can browse for the available sessions and try to join one, connecting to a Game Server.
Latency Simulation
Enabled: Enables the latency simulation feature.
Packet Loss: The percentage of packets discarded simulated. The higher the value, the more likely a package will be dropped.
Ping: The lag that will be added on each packet. It's divided into two values: (i) the average lag and (ii) the jitter, which is a variation randomly added to each packet beyond the normal lag.
Noise Function: Select the noise generator functions used by the simulation. It is used when testing if a packet should be dropped and when adding a random extra lag to a particular packet.
Miscellaneous
DLL Mode: The current build mode that Bolt is running, Debug
(with log messages and good performance) or Release
(without any logs and best performance).
Show BoltEntity Settings Hints: Enables the hint messages on the BoltEntity
component attached to each of your Entities, giving more information about each param.
Enable A2S Server Queries: Enables the A2S service that will respond to Server Queries requests. You can read more about this on this page.
A2S Server Queries Port: The listening port of A2S service.
Log Targets: Select all the output targets where the Bolt logs will be printed out.
Show Debug Info: Enables the in-game console that will print all Bolt log messages.
Toggle Key: Select the key used to toggle the Debug Info
console on or off.
Visible by Default: Select if the Debug Info
console will be shown by default or not.
Enable Source Provider Integration: Enables the integration with the Source Control System
attached to Unity. Bolt will checkout any necessary files to perform its compilation. You can read more about this topic on Unity dedicated page.
Compiler
Warning Level: Select the Warning Message Level
when compiling Bolt and generating the user DLLs. You can read more about the Warning Levels
on this page.
Prefab Mode: Select the mode that Bolt Prefabs will be discovered. It can be: (i) Automatic Scan
, where Bolt will scan all project folders to find prefabs and register them, (ii) Manual Scan
, that you need to execute the scan manually, but using the Scan button on the Bolt Prefabs
window, and (iii) Manual
, where each prefab must be registered by hand.