Skip to content

Console

You can use the console to edit several Factory I/O settings. Note that most of these settings are not available through the user interface and can only be changed through the console. To open the Console, press the Backslash (\) key or Click on VIEW > Open Console.

You can execute commands at startup by writing them on an auto.cfg file and placing this file in the installation folder of Factory I/O, in ProgramData\Real Games\Factory IO or in Documents\Factory IO. Note that, when this file is placed on the installation folder of Factory I/O or ProgramData\Real Games\Factory IO (recommended), it will be always executed independently of any Windows account. These files are executed first, followed by the one place in Documents\Factory IO.

developer console

App

Command Value Default Description
app.is_user_admin bool Depends on current Windows user Checks if the current user is a system administrator.
app.log_to_console bool False Logs all errors and warnings to the console.
app.print_args() void - Prints args passed during the launch.
app.print_system_info() void - Prints information about the graphics card, processor, and OS.
app.run_in_background bool True Sets the application to run in the background when the window loses focus.
app.online bool True Allows the application to access the internet.
app.local_feed bool False Loads Welcome Window contents from local resources.
app.copy_log() void - Copies the previous log file to ..\Documents\Factory IO

Audio

Command Value Default Description
audio.enabled bool True Turns the audio on or off.
audio.volume float 1.0 Sets the audio volume.

Camera

Command Value Default Description
camera.fp_detected bool False Sets a flag that indicates if the first person camera is detected by sensors.
camera.fov float 50 Sets the camera field of view.
camera.look_invert_x bool False Inverts the camera look on the X axis.
camera.look_invert_y bool False Inverts the camera look on the Y axis.
camera.look_sensitivity float 1.0 Sets the camera look sensitivity.
camera.move_sensitivity float 1.0 Sets the camera move sensitivity.
camera.auto_focus bool False Enables orbit camera auto focus.
camera.lock_mouse_on_rotation bool True Locks the mouse to the center of the window when rotating the camera.
camera.restrict_to_environment bool False Keeps orbit camera inside the warehouse.
camera.vertical_obliqueness float 0.0 Sets the vertical obliqueness of the camera frustum.
camera.position_index int -1 Moves the camera to one of the saved positions.
camera.position_cycle_interval float 0.0 Cycle between saved camera positions when in RUN mode. Minimum: 1 second. Use 0 to stop.

Console

Command Value Default Description
console.clear() void - Clears the console.
console.opacity float 1.0 Sets the console opacity.
console.set_window(int left, int top, int width, int height) void - Sets the location and size of the console window.

Input

Command Value Default Description
input.bind_key(string action, string primary_key) void - Binds an action to the desired key.
input.print_inputs() void - Prints the list of actions and bound keys.
input.force_alternative_mouse_data bool False Alternative method for calculating mouse movement. Fixes mouse behavior in virtual machines or remote desktop.

Instructor

Command Value Default Description
instructor.is_locked bool False Indicates if the current scene has any locked features.
instructor.lock_scene(string password, bool lock_current_parts, bool run_mode_only, bool hide_failures) void - Locks a scene with a password.
instructor.unlock_scene(string password) bool - Unlocks a scene with a password.

License

Command Value Default Description
license.print_host_ids() void - Legacy - Prints a list of host IDs.
license.print_ids() void - Prints a list of IDs.
license.host string - Legacy - Gets the computer name.
license.clear_trial() void - Legacy - Deletes the trial license.
license.set_proxy(string host, string port, string user, string pass) void - Legacy - Sets the proxy information required for license activation/deactivation.
license.clear_proxy() void - Legacy - Clears the proxy information.
license.broadcast bool True Legacy - Enables broadcast to automatically find a floating license server on the network. On large networks this operation can block or take to long - on these cases disable broadcasting by setting it to False.
license.log_enabled bool True Enables logging.
license.share_code string - Sets the floating license Share Code to use.
license.use_legacy bool False Set to True to use legacy licenses (prior to version 2.4.0).

Physics

Command Value Default Description
physics.timestep float 1/120 The amount of time to step the simulation by (in seconds). Decrease this value (e.g. 1.0/240.0) to increase the quality of the physics simulation; Increase it in order to save CPU cycles when simulating larger scenes.
physics.max_substeps int 8 Maximum number of steps the physics simulation is allowed to take during each frame. Set to 1 to run the simulation with minimal physics impact on performance. However, the simulation may run slower if there isn't enough time during a frame for physics computation.

Scene

Command Value Default Description
scene.capture_screenshot(string filename, bool hide_console) void - Captures a png screenshot. The filename is the name of the .png without the file extension (saved in My Documents/FactoryIO/Screenshots). Set hide_console to True to hide the console before taking the screenshot.
scene.capture_screenshot(string filename, int size, bool hide_console) void - Captures a screenshot using a size multiplier (integer between 1 and 10). Set hide_console to True to hide the console before taking the screenshot.
scene.current_item_count int - Number of emitted items currently in the scene. Read only.
scene.debug_sensor_range bool False Shows the sensors range using a dashed line.
scene.export_tags() void - Exports all tags names to a text file named Tags_xxx.txt. This file can be found in the Documents\Factory IO\ folder.
scene.export_tags_csv() void - Exports all tags names to a csv file named Tags_xxx.csv. This file can be found in the Documents\Factory IO\ folder.
scene.force_quit() void - Forces the application to quit without prompting the user about possibly lost changes.
scene.load_from_path(string scene_path) void - Loads a scene from a path. The following command loads the scene assembler from the Desktop. Note that you must either use two backslashes when specifying the scene's path, or prefix with r scene.load_from.path(r"C:\Users\XXXX\Desktop\assembler.factoryio")
scene.max_item_count int 500 Maximum number of items that can be emitted.
scene.my_scenes_path string - Sets the "My Scenes" path, i.e the directory where your scenes will be saved and loaded from. You can set a path relative to the application executable by starting it with .\. For example, .\MyScenes will be relative to Factory IO.exe. Not saved between sessions, must be placed on an auto.cfg file for persistence.
scene.print_saves() void - Prints the scenes list.
scene.quit() void - Quits the application.
scene.start_in_run_mode bool False Starts the scene in Run mode.
scene.time_scale float 0.1 Sets the time scale used for slow motion (use with care, may create instability in the physics simulation).

Stats

Command Value Default Description
stats.reset() void - Resets the performance statistics.
stats.visible bool False Shows the performance statistics.

Video

Command Value Default Description
video.print_supported_res() void - Prints the supported screen resolutions.
video.print_available_qualities() void - Prints the available video qualities.
video.keep() void - Accepts the current settings.
video.position (int, int) - Sets the application window position.
video.maximized bool False Sets the application window state to maximized.
video.fullscreen bool False Sets the application to run in fullscreen. Call video.keep() to accept it.
video.resolution (int, int) - Sets the screen resolution. Call video.keep() to accept it.
video.quality string 'Medium' Sets the video quality ('Very Low', 'Low', 'Medium', 'High', 'Very High').
video.motion_blur bool False Turns the motion blur effect on or off.
video.grain bool Depends on quality Turns the grain effect on or off. Applied by default on very high quality.
video.ssao bool Depends on quality Turns the screen space ambient occlusion on or off. Applied by default on very high quality.
video.aa int Depends on quality Sets the anti-aliasing value (0, 2, 4 or 8).
video.target_fps int 60 How many times the video is rendered per second. Setting to 0 makes the video render as fast as possible.
video.vsync int 0 Sets the number of VSyncs that should pass between each frame (0 to not wait for VSync).
video.post_processing bool True Turns all post-processing effects on or off.
video.background_color string '#3F4953' Sets the background color.
video.draw_environment bool True Turns the warehouse environment on or off.

UI

Command Value Default Description
ui.show_camera_navigation bool True Shows the camera navigation gizmo.
ui.show_sensors bool False Shows the sensors tags.
ui.show_actuators bool False Shows the actuators tags.
ui.show_addresses bool False Shows the addresses of the sensors and actuators tags.
ui.show_welcome_window bool True Shows the welcome screen at startup.
ui.enabled bool True Shows the user interface.

Drivers

Command Value Default Description
drivers.apply_current_mapping_to_all() - Copies the tag to I/O point mapping of the current driver to all others.
drivers.export_mapping(string filename) - Exports mapping of scene tags and driver I/O points. Data is exported as csv file for all supported drivers except for Siemens which are exported as TIA Portal compatible xml. This feature is implemented in Allen-Bradley, Automgen, MHJ, Modbus and Siemens drivers.

Allen-Bradley Logix5000

Command Value Default Description
drivers.allen_bradley_logix5000.ip_address string - Sets the hostname or IP address of the PLC.
drivers.allen_bradley_logix5000.auto_connect bool False Indicates whether this driver should automatically connect to the server.

Allen-Bradley Micro800

Command Value Default Description
drivers.allen_bradley_micro800.ip_address string - Sets the hostname or IP address of the PLC.
drivers.allen_bradley_micro800.auto_connect bool False Indicates whether this driver should automatically connect to the server.

Allen-Bradley MicroLogix

Command Value Default Description
drivers.allen_bradley_micrologix.ip_address string - Sets the hostname or IP address of the PLC.
drivers.allen_bradley_micrologix.auto_connect bool False Indicates whether this driver should automatically connect to the server.

Allen-Bradley SLC5

Command Value Default Description
drivers.allen_bradley_slc5.ip_address string - Sets the hostname or IP address of the PLC.
drivers.allen_bradley_slc5.auto_connect bool False Indicates whether this driver should automatically connect to the server.

Advantech USB 4704 & USB 4750

Command Value Default Description
drivers.advantech_4750.auto_connect bool False Indicates whether this driver should automatically connect to any available boards.
drivers.advantech_4704.auto_connect bool False Indicates whether this driver should automatically connect to any available boards.

Automgen Server

Command Value Default Description
drivers.automgen.auto_connect void False Indicates whether this driver should start the server automatically.
drivers.automgen.port int 4000 Sets the server listening port.

Modbus TCP/IP Client

Command Value Default Description
drivers.modbustcp_client.auto_connect void False Indicates whether this driver should automatically connect to the server.
drivers.modbustcp_client.port int 502 Sets the server port number.
drivers.modbustcp_client.ip_address string 127.0.0.1 Sets the hostname or IP address of the server.
drivers.modbustcp_client.slave_id int 1 Sets the slave ID.

Modbus TCP/IP Server

Command Value Default Description
drivers.modbustcp_server.auto_connect void False Indicates whether this driver should automatically start the server.
drivers.modbustcp_server.port int 502 Sets the server port number.
drivers.modbustcp_server.slave_id int 1 Sets the slave ID.

OPC Client DA/UA

Command Value Default Description
drivers.opc_client.ua_application_name string Factory I/O Gets the name of the client application.
drivers.opc_client.ua_session_name string OPC UA Driver Sets the name used to identify a session of this client.
drivers.opc_client.ua_session_timeout int 60000 (ms) Sets the wait time before an active session is handled as expired.
drivers.opc_client.ua_operation_timeout int 60000 (ms) Sets the wait time before terminating an operation being processed by the server.
drivers.opc_client.ua_disconnect_timeout int 10000 (ms) Sets the wait time before terminating the attempt to shutdown an active session.
drivers.opc_client.ua_reconnect_timeout int 10000 (ms) Sets the wait time before terminating the attempt to reconnect to a halted session.
drivers.opc_client.ua_cert_app_path string - Sets the certificate store path used by the application to store its own certificates. Default path: Installation Folder\CertificateStores\App
drivers.opc_client.ua_cert_rejected_path string - Sets the certificate store path used to store all certificates which are not trusted. Default path: Installation Folder\CertificateStores\Rejected
drivers.opc_client.ua_cert_trusted_issuer_path string - Sets the certificate store path used to store all certificates of trusted issuers. Default path: Installation Folder\CertificateStores\Trusted Issuer
drivers.opc_client.ua_cert_trusted_peer_path string - Sets the certificate store path used to store all certificates of trusted applications. Default path: Installation Folder\CertificateStores\Trusted Peer"
drivers.opc_client.ua_cert_trusted_peer_path string - Sets the certificate store path used to store all certificates of trusted applications. Default path: Installation Folder\CertificateStores\Trusted Peer"
drivers.opc_client.ua_cert_path string - Sets a path to a user defined certificate. This certificate will be automatically added into the ApplicationStore.
drivers.opc_client.ua_username string - Sets the username (user identity).
drivers.opc_client.ua_password string - Sets the password (user identity).
drivers.opc_client.ua_user_identity_cert_path string - Sets the path for a user identity certificate (X509).
Command Value Default Description
drivers.siemens_logo_0ba7_tcp.auto_connect bool False Indicates whether this driver should automatically connect to the PLC.
drivers.siemens_logo_0ba7_tcp.ip_address string - Sets the hostname or IP address of the PLC.
drivers.siemens_logo_0ba7_tcp.network_adapter string - Sets the network adapter to use.
drivers.siemens_logo_0ba8_tcp.auto_connect bool False Indicates whether this driver should automatically connect to the PLC.
drivers.siemens_logo_0ba8_tcp.ip_address string - Sets the hostname or IP address of the PLC.
drivers.siemens_logo_0ba8_tcp.network_adapter string - Sets the network adapter to use.

Siemens S7-200/300/400

Command Value Default Description
drivers.siemens_s7300_s7400.auto_connect bool False Indicates whether this driver should automatically connect to the PLC.
drivers.siemens_s7300_s7400.ip_address string - Sets the hostname or IP address of the PLC.
drivers.siemens_s7300_s7400.network_adapter string - Sets the network adapter to use.
drivers.siemens_s7300_s7400.slot int 2 Sets the PLC slot (2...18).
drivers.siemens_s7300_s7400.rack int 0 Sets the PLC rack (0...4).
drivers.siemens_s7300_s7400.plc_type int 1 Sets the PLC type (S7-200 = 0, S7-300 = 1, S7-400 = 2).

Siemens S7-1200/1500

Command Value Default Description
drivers.siemens_s71200_s71500.auto_connect bool False Indicates whether this driver should automatically connect to the PLC.
drivers.siemens_s71200_s71500.ip_address string - Sets the hostname or IP address of the PLC.
drivers.siemens_s71200_s71500.network_adapter string - Sets the network adapter to use.
drivers.siemens_s71200_s71500.plc_type int 0 Sets the PLC type (S7-1200 = 0, S7-1500 = 1)

Siemens S7-PLCSIM

Command Value Default Description
drivers.siemens_s7plcsim.auto_connect bool False Indicates whether this driver should automatically connect to S7-PLCSIM.
drivers.siemens_s7plcsim.connection_timeout int 45 Connection timeout in seconds.