Open-Industry-Project / Open-Industry-Project-Godot
git clone https://github.com/Open-Industry-Project/Open-Industry-Project-Godot.git
v4.7-rc1 · 3mo ago
🔥 on GitHub Trending today
archived
Free and Open-source warehouse/manufacturing development framework and simulator
+1
stars, 24h · #13,797
+~9
stars, 7 days · #12,200
+35
stars, 30 days · #17,175
862
★ total · +1% this week
127
forks · 20 open issues
Star history (as recorded here)
LanguageGDScript
LicenseMIT
Created2023-02-13 (3y ago)
Last push3d ago
Watchers33
OwnerOrganization
Seen on GitHub Trending
- 2026-10-23 — #4 monthly in gdscript · +35 ★
- 2026-10-22 — #4 monthly in gdscript · +34 ★
- 2026-10-21 — #4 monthly in gdscript · +36 ★
- 2026-10-20 — #4 monthly in gdscript · +36 ★
Links
- GitHub: github.com/Open-Industry-Project/Open-Industry-Project-Godot
- Releases · Issues · Hacker News mentions
README excerpt
> [!IMPORTANT] > This is the Godot version of Open Industry Project, and it is no longer maintained. Its successor runs in the browser and as a desktop app: try it at openindustryproject.org, or find the code at Open-Industry-Project/Open-Industry-Project. Free and open-source warehouse/manufacturing development framework and simulator built on Godot. The goal is to provide an open framework to create software and simulations using industrial equipment/devices and for people to be able to test their ideas or simply educate themselves while using standard industrial platforms. Supported Communication Protocols: - OPC UA via open62541 - EtherNet/IP via libplctag - Modbus TCP via libplctag - Siemens S7 1200 & 1500 Put/Get protocol - Beckhoff ADS via the Beckhoff ADS library (TwinCAT 2 & 3) - Universal Robots RTDE (Real-Time Data Exchange v2): see the official RTDE guide - MQTT via Eclipse Paho MQTT C (plaintext TCP, MQTT 3.1.1; no TLS, QoS 0 only) ## Table of Contents - Demo - Getting Started - Installation - Creating Your First Simulation - Communications - OPC UA Browser - Tag Name Format - Importing Models - License ## Demo https://github.com/Open-Industry-Project/Open-Industry-Project-Godot/assets/105675984/e78c3b0a-bb8e-411a-aa17-b2b6534868a4 ## Getting Started ### Installation 1. Download the latest package from the Releases page. It includes the project files and the custom Godot fork. 2. Extract the archive and open the included Godot editor. 3. Use the Project Manager to open or create a new project. ### Creating Your First Simulation All objects used in a simulation scene will be in the Parts tab. A simulation can be created by adding a new scene and selecting "New Simulation". This creates a new scene with the top node labelled "Simulation": Parts can be dragged into the viewport to instantiate them. Once they're in the scene they can be modified. To snap parts together, select the parts you want to move, then Ctrl+Click the target part (making it the active selection) and press **Ctrl+Shift+C**. The selected parts will snap to the target. https://github.com/user-attachments/assets/217c93cd-0b2d-46b8-a333-32be3417f019 Most parts have properties that can be configured to communicate with a PLC or OPC UA server (see Communications). In this example Ignition was used as an OPC server to write to the conveyor tag. https://github.com/user-attachments/assets/6d72a15b-b1ff-4402-b7d5-1f1a3fbeb085 ## Communications Configure communication with PLCs or an OPC UA server via the "Comms" panel at the bottom of the editor: The simulator will not communicate with any device until the "Enable Comms" checkbox is checked. Tag Groups are a logical way to organize sets of tags. Each Tag Group is associated with one PLC or one OPC UA client. When connecting to multiple PLCs or OPC UA endpoints, create a separate tag group for each one. The "Polling (ms)" setting indicates how often OIPComms will read all the tags that are part of that tag group. The simul