Hey Epic team!
I’m pulling my hair out trying to get TensorBoard working with the Learning Agents plugin (v0.2) in Unreal Engine 5.5.4, and it’s being super stubborn. Even when I explicitly tell it to use TensorBoard in my LearningAgentsManager, the logs just refuse to show up.
What’s really confusing is that my console keeps saying about a ModuleNotFoundError for ‘tensorboard’, but I’ve checked, and the module is definitely installed in Unreal’s Python environment! And to top it off, the Python backend seems to get the message “UseTensorBoard”: false, no matter what. It feels like there’s a wires-crossed situation somewhere in the plugin’s internal communication.
My Setup:
Unreal Engine Version: 5.5.4
Learning Agents Plugin Version: 0.2
Operating System: Windows 10
Here’s what I’m doing (and seeing):
I’ve got my project open.
Learning Agents plugin is definitely enabled.
I’ve added the LearningAgentsManager component to my BP_LearningManager Actor.
In the component’s Details panel, under Trainer Training Settings, I’ve made sure “Use Tensorboard” is checked (enabled).
I compile and save the Blueprint.
I launch the project in Standalone Game mode or in Editor window.
I let it run for a while (several minutes, sometimes hours for training).
After all that, I go check my project’s Intermediate/LearningAgents directory… and it’s still empty, or not even a “TensorboardLogs” created! No .tfevents files anywhere.
What the Output Log Keeps Saying:
During the game run, the Unreal Engine Output Log always puts out these two lines, even though the tensorboard module is present:
LogLearning: Display: Subprocess: Warning: Failed to Load TensorBoard: No module named ‘tensorboard’. Please add manually to site-packages.
LogLearning: Display: Subprocess: “UseTensorBoard”: false,
Troubleshooting I’ve Already Tried (and what happened):
I’ve tried pretty much everything I can think of to fix this:
Python Module Verification (the biggest head-scratcher):
I ran “.\python.exe” -c “import tensorboard; print(‘TensorBoard found!’);” directly from Unreal’s Python Scripts directory (D:\Epic Games\UE_5.5\Engine\Binaries\ThirdParty\Python3\Win64\Scripts).
Result: It successfully printed TensorBoard found! This tells me the Python module IS there and importable, so the “No module named ‘tensorboard’” warning from the plugin is really misleading.
DefaultEngine.ini Config (trying to force it):
I added +PipPackagesToInstall=tensorflow and +PipPackagesToInstall=tensorboard to DefaultEngine.ini hoping it would force a proper installation.
Result: No change in behavior. The log still showed false and no files were generated. (I’ve since removed these lines).
Directory Checks:
Confirmed manually using dir /s that Intermediate/LearningAgents only ever contains Configs, never TensorboardLogs, unless I manually create TensorboardLogs (in which case it stays empty).
LearningAgentsManager Setting Re-application:
Toggled the “Use Tensorboard” checkbox off/on in my BP_LearningManager, compiled, and saved multiple times to try and “reset” it.
Result: No change.
Data Asset Check:
I tried looking for a separate “PPO Trainer” or “Trainer” Data Asset type (thinking maybe the setting lived there), but couldn’t find one for the Learning Agents settings in this version of the engine.
Full Engine/Plugin Reinstallation (the nuclear option):
Did a “Verify” on my UE 5.5 installation via the Epic Games Launcher.
Manually moved the LearningAgents plugin folder out of Engine\Plugins\Experimental, then re-enabled it through the Plugins window to force a fresh copy.
Result: Still no change in behavior.
Honestly, after all this, it really feels like there’s a little bug deep down in the Learning Agents plugin itself that’s messing with the TensorBoard connection. It’s incredibly frustrating because the Python side seems ready to go!
Any chance you guys could take a look and see what’s up, or point me to a secret button I’m missing? I’d really appreciate any help to get these graphs flowing for my agent!