Editing Level Blueprint Initial Values from C++ Code?

Hi guys!

I’m trying to make my own LevelBase class which every Level inherits from.

#pragma once

#include "Engine/LevelScriptActor.h"
#include "LevelBase.generated.h"

/**
 * 
 */
UCLASS()
class GAME_API ALevelBase : public ALevelScriptActor
{
	GENERATED_BODY()

	public:
		UPROPERTY(BlueprintReadWrite,Category="Secrets")
		int32 numberOfSecrets;
};

But every level has a different number of Secrets.
Is there a possibility to set a per-level value in the blueprint editor of the LevelBlueprint?
The Blueprint Editor doesn’t allow me to change it’s initial value.

There different editor component that let you store properties per level, which is World Settings. To extend world settings you override AWorldSettings (same as you do with level blueprint) and add property to it, World Settings menu in editor is simply property viewer of that class and varables are stored in the level same as Level Blueprint. Problem is World Settings are not accesssable via blueprint, you will need to create static blueprint nodes to access those variables.

World Settings instance you can access from UWorld: