(ScreenCreditsWidget): Failed to find /Engine/EngineFonts/Roboto

Hello.

I encountered an error which appears in the logs when I run dedicated server build with the Cesium plugin enabled. I’m using UE v5.1.0 Source Build from GitHub and Cesium for Unreal v1.21.0. It seems to be related to the the plugin’s ScreenCreditsWidget:

[2023.01.16-07.20.16:401][  0]LogDeviceProfileManager: Active device profile: [000001DC5EA15380][000001DC5EC8B6E0 52] WindowsServer
[2023.01.16-07.20.16:401][  0]LogCsvProfiler: Display: Metadata set : deviceprofile="WindowsServer"
[2023.01.16-07.20.16:411][  0]LogNetVersion: CesiumServerTest 1.0.0, NetCL: 0, EngineNetVer: 30, GameNetVer: 0 (Checksum: 1387022388)
[2023.01.16-07.20.16:417][  0]LogStreaming: Warning: LoadPackage: SkipPackage: /Engine/EngineFonts/Roboto (0x6DC6E590848F5708) - The package to load does not exist on disk or in the loader
[2023.01.16-07.20.16:417][  0]LogUObjectGlobals: Warning: Failed to find object 'Font /Engine/EngineFonts/Roboto.Roboto'
[2023.01.16-07.20.16:418][  0]Error: CDO Constructor (ScreenCreditsWidget): Failed to find /Engine/EngineFonts/Roboto

[2023.01.16-07.20.16:419][  0]Error: CDO Constructor (ScreenCreditsWidget): Failed to find /Engine/EngineFonts/Roboto

[2023.01.16-07.20.16:419][  0]LogSlate: Warning: FSlateFontInfo was constructed with a null UFont. Slate will be forced to use the fallback font path which may be slower.
[2023.01.16-07.20.16:420][  0]LogSlate: Warning: FSlateFontInfo was constructed with a null UFont. Slate will be forced to use the fallback font path which may be slower.
[2023.01.16-07.20.16:437][  0]LogAudioCaptureCore: Display: No Audio Capture implementations found. Audio input will be silent.
[2023.01.16-07.20.16:438][  0]LogAudioCaptureCore: Display: No Audio Capture implementations found. Audio input will be silent.
[2023.01.16-07.20.16:465][  0]LogUObjectBase: Warning: -------------- Default Property warnings and errors:
[2023.01.16-07.20.16:466][  0]LogUObjectBase: Warning: Error: CDO Constructor (ScreenCreditsWidget): Failed to find /Engine/EngineFonts/Roboto

[2023.01.16-07.20.17:712][  0]Message dialog closed, result: Ok, title: Message, text: Default Property warnings and errors:
Error: CDO Constructor (ScreenCreditsWidget): Failed to find /Engine/EngineFonts/Roboto

This error goes away when I remove the plugin from my project. Fortunately, the error does not cause any bugs. Only a warning every time I run a server build.

I don’t know too much about the dedicated server build, but Cesium is getting the font like this:

static ConstructorHelpers::FObjectFinder<UFont> RobotoFontObj(
      *UWidget::GetDefaultFontName());

So it seems Unreal has produced a build that doesn’t actually contain the default font? Sounds like an Unreal bug to me, but I’m not sure.

Kevin

1 Like

Thanks. Perhaps this will be addressed in the upcoming UE 5.1 hotfixes.

Just in case other developers encountered this error, my hunch is that the default Roboto font is not being packaged into server builds in UE5. I tried placing the Roboto font in the mentioned directory, but that did not work.

The fix I found is to wrap lines 163-165 of ScreenCreditsWidget.cpp in an if statement to prevent it from running in a dedicated server:

if (!IsRunningDedicatedServer())
{
    static ConstructorHelpers::FObjectFinder<UFont> RobotoFontObj(
        *UWidget::GetDefaultFontName());
    _font = FSlateFontInfo(RobotoFontObj.Object, 8);
}

Thank you.I have just encountered this error.In fact,In my case, there is no impact to the server runing,only a popup.

Thanks @Gabriel_Transmira. We’d be happy to take a pull request for that change if you’re up for it, so you don’t have to maintain a fork.