soft-ue-cli 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. soft_ue_cli-1.0.0/.gitignore +10 -0
  2. soft_ue_cli-1.0.0/LICENSE +21 -0
  3. soft_ue_cli-1.0.0/PKG-INFO +427 -0
  4. soft_ue_cli-1.0.0/README.md +415 -0
  5. soft_ue_cli-1.0.0/pyproject.toml +30 -0
  6. soft_ue_cli-1.0.0/soft_ue_cli/__init__.py +3 -0
  7. soft_ue_cli-1.0.0/soft_ue_cli/__main__.py +1810 -0
  8. soft_ue_cli-1.0.0/soft_ue_cli/client.py +93 -0
  9. soft_ue_cli-1.0.0/soft_ue_cli/discovery.py +52 -0
  10. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/SoftUEBridge.uplugin +44 -0
  11. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Protocol/BridgeTypes.cpp +171 -0
  12. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Server/BridgeServer.cpp +274 -0
  13. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/SoftUEBridgeModule.cpp +36 -0
  14. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Subsystem/SoftUEBridgeSubsystem.cpp +151 -0
  15. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/BridgeToolBase.cpp +131 -0
  16. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/BridgeToolRegistry.cpp +113 -0
  17. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/BridgeToolResult.cpp +57 -0
  18. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/CallFunctionTool.cpp +147 -0
  19. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/CallFunctionTool.h +17 -0
  20. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/ConsoleVarTool.cpp +105 -0
  21. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/ConsoleVarTool.h +29 -0
  22. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/GetLogsTool.cpp +119 -0
  23. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/GetLogsTool.h +41 -0
  24. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/QueryLevelTool.cpp +188 -0
  25. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/QueryLevelTool.h +20 -0
  26. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/SetPropertyTool.cpp +138 -0
  27. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/SetPropertyTool.h +17 -0
  28. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/SpawnActorTool.cpp +134 -0
  29. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Private/Tools/SpawnActorTool.h +18 -0
  30. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Public/Protocol/BridgeTypes.h +104 -0
  31. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Public/Server/BridgeServer.h +48 -0
  32. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Public/SoftUEBridgeModule.h +18 -0
  33. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Public/Subsystem/SoftUEBridgeSubsystem.h +48 -0
  34. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Public/Tools/BridgeToolBase.h +61 -0
  35. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Public/Tools/BridgeToolRegistry.h +56 -0
  36. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/Public/Tools/BridgeToolResult.h +29 -0
  37. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridge/SoftUEBridge.Build.cs +38 -0
  38. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/SoftUEBridgeEditorModule.cpp +156 -0
  39. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Analysis/ClassHierarchyTool.cpp +302 -0
  40. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Asset/DeleteAssetTool.cpp +102 -0
  41. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Asset/GetAssetDiffTool.cpp +995 -0
  42. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Asset/GetAssetPreviewTool.cpp +225 -0
  43. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Asset/OpenAssetTool.cpp +227 -0
  44. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Asset/QueryAssetTool.cpp +452 -0
  45. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Blueprint/QueryBlueprintGraphTool.cpp +1089 -0
  46. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Blueprint/QueryBlueprintTool.cpp +831 -0
  47. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Editor/CaptureScreenshotTool.cpp +418 -0
  48. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Material/QueryMaterialTool.cpp +329 -0
  49. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/PIE/PieInputTool.cpp +415 -0
  50. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/PIE/PieSessionTool.cpp +683 -0
  51. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Performance/InsightsAnalyzeTool.cpp +84 -0
  52. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Performance/InsightsCaptureTool.cpp +167 -0
  53. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Performance/InsightsListTracesTool.cpp +90 -0
  54. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Project/ProjectInfoTool.cpp +287 -0
  55. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/References/FindReferencesTool.cpp +780 -0
  56. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Scripting/RunPythonScriptTool.cpp +328 -0
  57. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/StateTree/AddStateTreeStateTool.cpp +214 -0
  58. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/StateTree/AddStateTreeTaskTool.cpp +210 -0
  59. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/StateTree/AddStateTreeTransitionTool.cpp +233 -0
  60. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/StateTree/QueryStateTreeTool.cpp +373 -0
  61. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/StateTree/RemoveStateTreeStateTool.cpp +159 -0
  62. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Widget/WidgetBlueprintTool.cpp +848 -0
  63. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Write/AddComponentTool.cpp +219 -0
  64. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Write/AddDataTableRowTool.cpp +129 -0
  65. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Write/AddGraphNodeTool.cpp +505 -0
  66. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Write/AddWidgetTool.cpp +205 -0
  67. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Write/ConnectGraphPinsTool.cpp +278 -0
  68. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Write/CreateAssetTool.cpp +508 -0
  69. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Write/DisconnectGraphPinTool.cpp +210 -0
  70. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Write/RemoveGraphNodeTool.cpp +149 -0
  71. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Write/SetNodePositionTool.cpp +239 -0
  72. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Write/SetPropertyTool.cpp +344 -0
  73. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Tools/Write/SpawnActorTool.cpp +175 -0
  74. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/UI/BridgeToolbarExtension.cpp +184 -0
  75. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Utils/BridgeAssetModifier.cpp +489 -0
  76. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Utils/BridgeGraphLayoutUtil.cpp +325 -0
  77. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Private/Utils/BridgePropertySerializer.cpp +945 -0
  78. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/SoftUEBridgeEditorModule.h +15 -0
  79. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Analysis/ClassHierarchyTool.h +42 -0
  80. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Asset/DeleteAssetTool.h +22 -0
  81. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Asset/GetAssetDiffTool.h +103 -0
  82. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Asset/GetAssetPreviewTool.h +46 -0
  83. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Asset/OpenAssetTool.h +64 -0
  84. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Asset/QueryAssetTool.h +64 -0
  85. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Blueprint/QueryBlueprintGraphTool.h +126 -0
  86. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Blueprint/QueryBlueprintTool.h +57 -0
  87. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Editor/CaptureScreenshotTool.h +128 -0
  88. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Material/QueryMaterialTool.h +59 -0
  89. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/PIE/PieInputTool.h +36 -0
  90. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/PIE/PieSessionTool.h +42 -0
  91. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Performance/InsightsAnalyzeTool.h +27 -0
  92. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Performance/InsightsCaptureTool.h +33 -0
  93. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Performance/InsightsListTracesTool.h +22 -0
  94. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Project/ProjectInfoTool.h +40 -0
  95. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/References/FindReferencesTool.h +71 -0
  96. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Scripting/RunPythonScriptTool.h +37 -0
  97. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/StateTree/AddStateTreeStateTool.h +26 -0
  98. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/StateTree/AddStateTreeTaskTool.h +26 -0
  99. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/StateTree/AddStateTreeTransitionTool.h +26 -0
  100. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/StateTree/QueryStateTreeTool.h +51 -0
  101. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/StateTree/RemoveStateTreeStateTool.h +26 -0
  102. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Widget/WidgetBlueprintTool.h +83 -0
  103. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Write/AddComponentTool.h +25 -0
  104. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Write/AddDataTableRowTool.h +25 -0
  105. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Write/AddGraphNodeTool.h +63 -0
  106. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Write/AddWidgetTool.h +25 -0
  107. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Write/ConnectGraphPinsTool.h +25 -0
  108. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Write/CreateAssetTool.h +64 -0
  109. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Write/DisconnectGraphPinTool.h +25 -0
  110. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Write/EditorSetPropertyTool.h +39 -0
  111. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Write/EditorSpawnActorTool.h +27 -0
  112. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Write/RemoveGraphNodeTool.h +25 -0
  113. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Tools/Write/SetNodePositionTool.h +26 -0
  114. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/UI/BridgeToolbarExtension.h +44 -0
  115. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Utils/BridgeAssetModifier.h +196 -0
  116. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Utils/BridgeGraphLayoutUtil.h +123 -0
  117. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/Public/Utils/BridgePropertySerializer.h +196 -0
  118. soft_ue_cli-1.0.0/soft_ue_cli/plugin_data/SoftUEBridge/Source/SoftUEBridgeEditor/SoftUEBridgeEditor.Build.cs +92 -0
@@ -0,0 +1,10 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *.egg-info/
4
+ dist/
5
+ build/
6
+ .venv/
7
+ .pytest_cache/
8
+ .coverage
9
+ *.so
10
+ *.dylib
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 soft-ue-expert
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,427 @@
1
+ Metadata-Version: 2.4
2
+ Name: soft-ue-cli
3
+ Version: 1.0.0
4
+ Summary: CLI tool for controlling Unreal Engine via soft-ue-bridge plugin
5
+ Project-URL: Homepage, https://github.com/softdaddy-o/soft-ue-cli
6
+ Project-URL: Repository, https://github.com/softdaddy-o/soft-ue-cli
7
+ License: MIT
8
+ License-File: LICENSE
9
+ Requires-Python: >=3.10
10
+ Requires-Dist: httpx>=0.27
11
+ Description-Content-Type: text/markdown
12
+
13
+ # soft-ue-cli
14
+
15
+ [![PyPI version](https://img.shields.io/pypi/v/soft-ue-cli.svg)](https://pypi.org/project/soft-ue-cli/)
16
+ [![Python 3.10+](https://img.shields.io/pypi/pyversions/soft-ue-cli.svg)](https://pypi.org/project/soft-ue-cli/)
17
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
18
+
19
+ **Control Unreal Engine 5 from the command line.** soft-ue-cli is a Python CLI that lets [Claude Code](https://docs.anthropic.com/en/docs/claude-code) (Anthropic's AI coding agent) -- or any terminal workflow -- spawn actors, edit Blueprints, inspect materials, run Play-In-Editor sessions, capture screenshots, profile performance, and execute 50+ other operations inside a running UE5 editor or packaged build.
20
+
21
+ One pip install. One plugin copy. Zero manual editor clicks.
22
+
23
+ ```
24
+ Claude Code --> soft-ue-cli (Python) --> HTTP/JSON-RPC --> SoftUEBridge plugin (inside UE)
25
+ ```
26
+
27
+ ---
28
+
29
+ ## Why soft-ue-cli?
30
+
31
+ - **AI-native UE automation** -- purpose-built so Claude Code can read, modify, and test Unreal Engine projects without a human touching the editor.
32
+ - **50+ commands** covering actors, Blueprints, materials, StateTrees, widgets, assets, PIE sessions, profiling, and more.
33
+ - **Works everywhere UE runs** -- editor, cooked builds, Windows, macOS, Linux.
34
+ - **Single dependency** -- only requires `httpx`. No heavy SDK, no editor scripting setup.
35
+ - **Team-friendly** -- conditional compilation via `SOFT_UE_BRIDGE` environment variable means only developers who need the bridge get it compiled in.
36
+
37
+ ---
38
+
39
+ ## Quick Start
40
+
41
+ ### 1. Install the CLI
42
+
43
+ ```bash
44
+ pip install soft-ue-cli
45
+ ```
46
+
47
+ ### 2. Install the plugin into your UE project
48
+
49
+ ```bash
50
+ soft-ue-cli setup /path/to/YourProject
51
+ ```
52
+
53
+ This copies the bundled **SoftUEBridge** C++ plugin into your project's `Plugins/` directory.
54
+
55
+ ### 3. Enable the plugin
56
+
57
+ Add the following entry to the `"Plugins"` array in your `.uproject` file:
58
+
59
+ ```json
60
+ {"Name": "SoftUEBridge", "Enabled": true}
61
+ ```
62
+
63
+ ### 4. Rebuild and launch Unreal Engine
64
+
65
+ After regenerating project files and rebuilding, launch the editor. Look for this log line to confirm the bridge is running:
66
+
67
+ ```
68
+ LogSoftUEBridge: Bridge server started on port 8080
69
+ ```
70
+
71
+ ### 5. Verify the connection
72
+
73
+ ```bash
74
+ soft-ue-cli check-setup
75
+ ```
76
+
77
+ You should see all checks pass:
78
+
79
+ ```
80
+ [OK] Plugin files found.
81
+ [OK] SoftUEBridge enabled in YourGame.uproject.
82
+ [OK] Bridge server reachable.
83
+ ```
84
+
85
+ ### 6. Tell Claude Code about the CLI
86
+
87
+ Create or append to your project's `CLAUDE.md`:
88
+
89
+ ```markdown
90
+ ## Unreal Engine control
91
+
92
+ `soft-ue-cli` controls this UE project via the SoftUEBridge plugin.
93
+ Run `soft-ue-cli --help` to see all available commands.
94
+ The game or editor must be running with SoftUEBridge enabled before using UE commands.
95
+ ```
96
+
97
+ Now Claude Code can autonomously control your Unreal Engine project.
98
+
99
+ ---
100
+
101
+ ## How It Works
102
+
103
+ ```
104
+ Claude Code
105
+ |
106
+ | (runs CLI commands in terminal)
107
+ v
108
+ soft-ue-cli (Python process)
109
+ |
110
+ | HTTP / JSON-RPC requests
111
+ v
112
+ SoftUEBridge plugin (C++ UGameInstanceSubsystem, inside UE process)
113
+ |
114
+ | Native UE API calls on the game thread
115
+ v
116
+ Unreal Engine 5 editor or runtime
117
+ ```
118
+
119
+ The **SoftUEBridge** plugin is a lightweight C++ `UGameInstanceSubsystem` that starts an embedded HTTP server on port 8080 when UE launches. The CLI sends JSON-RPC requests to this server, and the plugin executes the corresponding UE operations on the game thread, returning structured JSON responses.
120
+
121
+ All commands output JSON to stdout (except `get-logs --raw`). Exit code 0 means success, 1 means error.
122
+
123
+ ---
124
+
125
+ ## Complete Command Reference
126
+
127
+ Every command is available via `soft-ue-cli <command>`. Run `soft-ue-cli <command> --help` for detailed options.
128
+
129
+ ### Setup and Diagnostics
130
+
131
+ | Command | Description |
132
+ |---------|-------------|
133
+ | `setup` | Copy SoftUEBridge plugin into a UE project |
134
+ | `check-setup` | Verify plugin files, .uproject settings, and bridge server reachability |
135
+ | `status` | Health check -- returns server status |
136
+ | `project-info` | Get project name, engine version, target platforms, and module info |
137
+
138
+ ### Actor and Level Operations
139
+
140
+ | Command | Description |
141
+ |---------|-------------|
142
+ | `spawn-actor` | Spawn an actor by class at a given location and rotation |
143
+ | `query-level` | List actors in the current level with transforms, filtering by class or name |
144
+ | `call-function` | Call any `BlueprintCallable` `UFUNCTION` on an actor |
145
+ | `set-property` | Set a `UPROPERTY` value on an actor by name |
146
+ | `add-component` | Add a component to an existing actor |
147
+
148
+ ### Blueprint Inspection and Editing
149
+
150
+ | Command | Description |
151
+ |---------|-------------|
152
+ | `query-blueprint` | Inspect a Blueprint asset -- components, variables, functions, event dispatchers |
153
+ | `query-blueprint-graph` | Inspect event graphs, function graphs, and node connections |
154
+ | `add-graph-node` | Add a node to a Blueprint or Material graph |
155
+ | `remove-graph-node` | Remove a node from a graph |
156
+ | `connect-graph-pins` | Connect two pins between graph nodes |
157
+ | `disconnect-graph-pin` | Disconnect a specific pin |
158
+ | `set-node-position` | Batch-set node positions for graph layout |
159
+
160
+ ### Asset Management
161
+
162
+ | Command | Description |
163
+ |---------|-------------|
164
+ | `query-asset` | Search the Content Browser by name, class, or path -- also inspect DataTables |
165
+ | `create-asset` | Create new Blueprint, Material, DataTable, or other asset types |
166
+ | `delete-asset` | Delete an asset |
167
+ | `set-asset-property` | Set a property on a Blueprint CDO or component |
168
+ | `get-asset-diff` | Get property-level diff of an asset vs. source control |
169
+ | `get-asset-preview` | Get a thumbnail/preview image of an asset |
170
+ | `open-asset` | Open an asset in the editor |
171
+ | `find-references` | Find assets, variables, or functions referencing a given asset |
172
+
173
+ ### Material Inspection
174
+
175
+ | Command | Description |
176
+ |---------|-------------|
177
+ | `query-material` | Inspect Material or Material Instance -- parameters, nodes, connections |
178
+
179
+ ### Class and Type Inspection
180
+
181
+ | Command | Description |
182
+ |---------|-------------|
183
+ | `class-hierarchy` | Inspect class inheritance chains -- ancestors, descendants, or both |
184
+
185
+ ### Play-In-Editor (PIE) Control
186
+
187
+ | Command | Description |
188
+ |---------|-------------|
189
+ | `pie-session` | Start, stop, pause, resume PIE -- also query actor state during play |
190
+ | `pie-input` | Send keyboard, mouse, gamepad, or AI-move input to a PIE session |
191
+
192
+ ### Screenshot and Visual Capture
193
+
194
+ | Command | Description |
195
+ |---------|-------------|
196
+ | `capture-screenshot` | Capture the editor viewport, PIE window, or a specific editor panel |
197
+
198
+ ### Logging and Console Variables
199
+
200
+ | Command | Description |
201
+ |---------|-------------|
202
+ | `get-logs` | Read the UE output log with optional category and text filters |
203
+ | `get-console-var` | Read the value of a console variable (CVar) |
204
+ | `set-console-var` | Set a console variable value |
205
+
206
+ ### Python Scripting in UE
207
+
208
+ | Command | Description |
209
+ |---------|-------------|
210
+ | `run-python-script` | Execute a Python script inside UE's embedded Python interpreter |
211
+ | `save-script` | Save a reusable Python script to the local script library |
212
+ | `list-scripts` | List all saved Python scripts |
213
+ | `delete-script` | Delete a saved script |
214
+
215
+ ### StateTree Editing
216
+
217
+ | Command | Description |
218
+ |---------|-------------|
219
+ | `query-statetree` | Inspect a StateTree asset -- states, tasks, transitions |
220
+ | `add-statetree-state` | Add a state to a StateTree |
221
+ | `add-statetree-task` | Add a task to a StateTree state |
222
+ | `add-statetree-transition` | Add a transition between StateTree states |
223
+ | `remove-statetree-state` | Remove a state from a StateTree |
224
+
225
+ ### Widget Blueprint Inspection
226
+
227
+ | Command | Description |
228
+ |---------|-------------|
229
+ | `inspect-widget-blueprint` | Inspect UMG Widget Blueprint hierarchy, bindings, and properties |
230
+ | `add-widget` | Add a widget to a Widget Blueprint |
231
+
232
+ ### DataTable Editing
233
+
234
+ | Command | Description |
235
+ |---------|-------------|
236
+ | `add-datatable-row` | Add or update a row in a DataTable asset |
237
+
238
+ ### Performance Profiling (UE Insights)
239
+
240
+ | Command | Description |
241
+ |---------|-------------|
242
+ | `insights-capture` | Start or stop a UE Insights trace capture |
243
+ | `insights-list-traces` | List available trace files |
244
+ | `insights-analyze` | Analyze a trace file for CPU, GPU, or memory hotspots |
245
+
246
+ ### Build and Live Coding
247
+
248
+ | Command | Description |
249
+ |---------|-------------|
250
+ | `build-and-relaunch` | Trigger a full C++ rebuild and optionally relaunch the editor |
251
+ | `trigger-live-coding` | Trigger a Live Coding compile (hot reload) |
252
+
253
+ ---
254
+
255
+ ## Usage Examples
256
+
257
+ ### Spawn an actor at a specific location
258
+
259
+ ```bash
260
+ soft-ue-cli spawn-actor BP_Enemy --location 100,200,50 --rotation 0,90,0
261
+ ```
262
+
263
+ ### Query all actors of a specific class
264
+
265
+ ```bash
266
+ soft-ue-cli query-level --class-filter StaticMeshActor --limit 50
267
+ ```
268
+
269
+ ### Call a BlueprintCallable function
270
+
271
+ ```bash
272
+ soft-ue-cli call-function BP_GameMode SetDifficulty --args '{"Level": 3}'
273
+ ```
274
+
275
+ ### Inspect a Blueprint's components and variables
276
+
277
+ ```bash
278
+ soft-ue-cli query-blueprint /Game/Blueprints/BP_Player --include components,variables
279
+ ```
280
+
281
+ ### Start a PIE session and send input
282
+
283
+ ```bash
284
+ soft-ue-cli pie-session start --mode SelectedViewport
285
+ soft-ue-cli pie-input press --key SpaceBar
286
+ soft-ue-cli pie-session stop
287
+ ```
288
+
289
+ ### Capture a screenshot of the editor viewport
290
+
291
+ ```bash
292
+ soft-ue-cli capture-screenshot viewport --output screenshot.png
293
+ ```
294
+
295
+ ### Edit a Blueprint graph programmatically
296
+
297
+ ```bash
298
+ soft-ue-cli add-graph-node /Game/BP_Player K2Node_CallFunction \
299
+ --properties '{"FunctionReference": {"MemberName": "PrintString"}}'
300
+ soft-ue-cli connect-graph-pins /Game/BP_Player node1 "exec" node2 "execute"
301
+ ```
302
+
303
+ ### Profile with UE Insights
304
+
305
+ ```bash
306
+ soft-ue-cli insights-capture start --channels CPU,GPU
307
+ # ... run your scenario ...
308
+ soft-ue-cli insights-capture stop
309
+ soft-ue-cli insights-analyze latest --analysis-type cpu
310
+ ```
311
+
312
+ ---
313
+
314
+ ## Configuration
315
+
316
+ ### Environment Variables
317
+
318
+ | Variable | Default | Description |
319
+ |----------|---------|-------------|
320
+ | `SOFT_UE_BRIDGE_URL` | *(none)* | Full bridge URL override (e.g. `http://192.168.1.10:8080`) |
321
+ | `SOFT_UE_BRIDGE_PORT` | `8080` | Port override when using localhost |
322
+ | `SOFT_UE_BRIDGE` | *(none)* | Set to `1` to enable conditional compilation in `Target.cs` |
323
+
324
+ ### Server Discovery Order
325
+
326
+ The CLI finds the bridge server using this priority:
327
+
328
+ 1. `--server` command-line flag
329
+ 2. `SOFT_UE_BRIDGE_URL` environment variable
330
+ 3. `SOFT_UE_BRIDGE_PORT` environment variable (constructs `http://127.0.0.1:<port>`)
331
+ 4. `.soft-ue-bridge/instance.json` file (searched upward from the current working directory -- written automatically by the plugin at startup)
332
+ 5. `http://127.0.0.1:8080` (default fallback)
333
+
334
+ ### Conditional Compilation for Teams
335
+
336
+ If you want only specific developers to compile the bridge plugin (to avoid any overhead for artists or designers), use the `SOFT_UE_BRIDGE` environment variable in your `Target.cs`:
337
+
338
+ ```csharp
339
+ // MyGameEditor.Target.cs
340
+ if (Environment.GetEnvironmentVariable("SOFT_UE_BRIDGE") == "1")
341
+ {
342
+ ExtraModuleNames.Add("SoftUEBridge");
343
+ }
344
+ ```
345
+
346
+ Developers who need the bridge set `SOFT_UE_BRIDGE=1` in their environment. Everyone else builds without it.
347
+
348
+ ---
349
+
350
+ ## Compatibility
351
+
352
+ | Requirement | Supported Versions |
353
+ |-------------|--------------------|
354
+ | **Unreal Engine** | 5.3, 5.4, 5.5 |
355
+ | **Python** | 3.10+ |
356
+ | **Platforms** | Windows, macOS, Linux |
357
+ | **Build types** | Editor, Development, Shipping (cooked/packaged) |
358
+ | **Dependencies** | `httpx >= 0.27` (sole runtime dependency) |
359
+
360
+ ---
361
+
362
+ ## Development
363
+
364
+ ```bash
365
+ git clone https://github.com/softdaddy-o/soft-ue-cli
366
+ cd soft-ue-cli
367
+ pip install -e .
368
+ pytest -v
369
+ ```
370
+
371
+ ---
372
+
373
+ ## Frequently Asked Questions
374
+
375
+ ### What is soft-ue-cli?
376
+
377
+ soft-ue-cli is a Python command-line tool that controls Unreal Engine 5 from the terminal. It communicates with a C++ plugin (SoftUEBridge) running inside UE via HTTP/JSON-RPC, enabling automation of actor spawning, Blueprint editing, material inspection, Play-In-Editor sessions, screenshot capture, performance profiling, and 50+ other operations.
378
+
379
+ ### How does Claude Code use soft-ue-cli to control Unreal Engine?
380
+
381
+ Claude Code runs soft-ue-cli commands in the terminal just like a developer would. By adding a `CLAUDE.md` file to your UE project that describes the available commands, Claude Code can autonomously query your level, spawn actors, edit Blueprints, run PIE sessions, and iterate on your game -- all without manual editor interaction.
382
+
383
+ ### Can I use soft-ue-cli without Claude Code?
384
+
385
+ Yes. soft-ue-cli is a standard Python CLI. You can use it in shell scripts, CI/CD pipelines, custom automation tools, or any workflow that can invoke command-line programs. Every command outputs structured JSON, making it easy to parse and integrate.
386
+
387
+ ### Does it work with packaged/cooked Unreal Engine builds?
388
+
389
+ Yes. The SoftUEBridge plugin works in both the UE editor and in cooked/packaged builds (Development and Shipping configurations). This makes it useful for automated testing of packaged games.
390
+
391
+ ### What Unreal Engine versions are supported?
392
+
393
+ soft-ue-cli supports Unreal Engine 5.3, 5.4, and 5.5. The C++ plugin uses stable engine APIs and is compatible across these versions without modification.
394
+
395
+ ### Is there any runtime performance impact?
396
+
397
+ The SoftUEBridge plugin adds a lightweight HTTP server that listens on a single port. When no requests are being made, the overhead is negligible. The server processes requests on the game thread to ensure thread safety with UE APIs. For production builds where you do not want the bridge, use conditional compilation via the `SOFT_UE_BRIDGE` environment variable.
398
+
399
+ ### How do I change the default port?
400
+
401
+ Set the `SOFT_UE_BRIDGE_PORT` environment variable before launching UE, or use the `--server` flag when running CLI commands. The default port is 8080.
402
+
403
+ ### Can multiple UE instances run simultaneously?
404
+
405
+ Yes. Each UE instance writes its port to a `.soft-ue-bridge/instance.json` file in the project directory. Use `SOFT_UE_BRIDGE_URL` or `--server` to target a specific instance when multiple are running.
406
+
407
+ ### How do I edit Blueprints from the command line?
408
+
409
+ Use `query-blueprint-graph` to inspect existing graph nodes, `add-graph-node` to create new nodes, `connect-graph-pins` to wire them together, and `remove-graph-node` to delete nodes. This enables fully programmatic Blueprint construction -- useful for AI-driven development and automated testing.
410
+
411
+ ### What is the difference between soft-ue-cli and Unreal Engine Remote Control?
412
+
413
+ Unreal Engine's built-in Remote Control API focuses on property access and preset-based workflows. soft-ue-cli provides a broader command set specifically designed for AI coding agents -- including Blueprint graph editing, StateTree manipulation, PIE session control, UE Insights profiling, widget inspection, and asset creation -- with a simpler setup process (one pip install, one plugin copy).
414
+
415
+ ---
416
+
417
+ ## License
418
+
419
+ MIT License. See [LICENSE](https://github.com/softdaddy-o/soft-ue-cli/blob/main/LICENSE) for details.
420
+
421
+ ---
422
+
423
+ ## Links
424
+
425
+ - **PyPI**: [pypi.org/project/soft-ue-cli](https://pypi.org/project/soft-ue-cli/)
426
+ - **GitHub**: [github.com/softdaddy-o/soft-ue-cli](https://github.com/softdaddy-o/soft-ue-cli)
427
+ - **Claude Code**: [docs.anthropic.com/en/docs/claude-code](https://docs.anthropic.com/en/docs/claude-code)