How override a specific render option in C++?

The UGameUserSettings only support change of scalibity groups. I tried using console command. For instance, adding UWorld::Exec in BeginPlay of GameModeBase. However, it is not working at all. But APlayerController::ConsoleCommand works. But why? What’s the differences between two of them. What is the best way to override a render setting in C++(e.g. r.EyeAdaptationQuality)?