// Copyright Epic Games, Inc. All Rights Reserved. #include "LyraGameViewportClient.h" #include "CommonUISettings.h" #include "GameplayTagContainer.h" #include "ICommonUIModule.h" #include "NativeGameplayTags.h" #include "UObject/NameTypes.h" class UGameInstance; namespace GameViewportTags { UE_DEFINE_GAMEPLAY_TAG_STATIC(TAG_Platform_Trait_Input_HardwareCursor, "Platform.Trait.Input.HardwareCursor"); } ULyraGameViewportClient::ULyraGameViewportClient() : Super(FObjectInitializer::Get()) { } void ULyraGameViewportClient::Init(struct FWorldContext& WorldContext, UGameInstance* OwningGameInstance, bool bCreateNewAudioDevice) { Super::Init(WorldContext, OwningGameInstance, bCreateNewAudioDevice); // We have software cursors set up in our project settings for console/mobile use, but on desktop we're fine with // the standard hardware cursors const bool UseHardwareCursor = ICommonUIModule::GetSettings().GetPlatformTraits().HasTag(GameViewportTags::TAG_Platform_Trait_Input_HardwareCursor); SetUseSoftwareCursorWidgets(!UseHardwareCursor); }