diff --git a/Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp b/Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp index 58a8ea4f53..b825722ae7 100644 --- a/Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp +++ b/Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp @@ -189,6 +189,15 @@ IImageWrapperModule* UAirBlueprintLib::getImageWrapperModule() return image_wrapper_module_; } +void UAirBlueprintLib::setLogMessagesVisibility(bool is_visible) +{ + log_messages_hidden_ = !is_visible; + + // if hidden, clear any existing messages + if (!is_visible && GEngine) + GEngine->ClearOnScreenDebugMessages(); +} + void UAirBlueprintLib::LogMessage(const FString &prefix, const FString &suffix, LogDebugLevel level, float persist_sec) { if (log_messages_hidden_) diff --git a/Unreal/Plugins/AirSim/Source/AirBlueprintLib.h b/Unreal/Plugins/AirSim/Source/AirBlueprintLib.h index bddcff4dbb..1158efe2e5 100644 --- a/Unreal/Plugins/AirSim/Source/AirBlueprintLib.h +++ b/Unreal/Plugins/AirSim/Source/AirBlueprintLib.h @@ -171,10 +171,8 @@ class UAirBlueprintLib : public UBlueprintFunctionLibrary { return log_messages_hidden_; } - static void setLogMessagesHidden(bool is_hidden) - { - log_messages_hidden_ = is_hidden; - } + static void setLogMessagesVisibility(bool is_visible); + static void SetMeshNamingMethod(msr::airlib::AirSimSettings::SegmentationSetting::MeshNamingMethodType method) { mesh_naming_method_ = method; diff --git a/Unreal/Plugins/AirSim/Source/SimMode/SimModeBase.cpp b/Unreal/Plugins/AirSim/Source/SimMode/SimModeBase.cpp index 74f923c658..a20a12772c 100644 --- a/Unreal/Plugins/AirSim/Source/SimMode/SimModeBase.cpp +++ b/Unreal/Plugins/AirSim/Source/SimMode/SimModeBase.cpp @@ -98,6 +98,9 @@ void ASimModeBase::BeginPlay() world_sim_api_.reset(new WorldSimApi(this)); api_provider_.reset(new msr::airlib::ApiProvider(world_sim_api_.get())); + + UAirBlueprintLib::setLogMessagesVisibility(getSettings().log_messages_visible); + setupPhysicsLoopPeriod(); setupClockSpeed();