Skip to content

ISingleAgentScholaEnvironment

Interface for single-agent reinforcement learning environments.

Implement this interface in your environment class to create a single-agent RL environment. All methods are Blueprint Native Events, allowing implementation in either C++ or Blueprint.

class ISingleAgentScholaEnvironment : public IBaseScholaEnvironment

Methods

InitializeEnvironment

void InitializeEnvironment(FInteractionDefinition &OutAgentDefinition)

Initialize the environment and define the agent’s observation and action spaces.

Parameters

  • OutAgentDefinition (FInteractionDefinition)

Reset

void Reset(FInitialAgentState &OutAgentState)

Reset the environment to its initial state.

Parameters

  • OutAgentState (FInitialAgentState)

Step

void Step(const FInstancedStruct &InAction, FAgentState &OutAgentState)

Execute one environment step with the given action.

Parameters

  • InAction (const FInstancedStruct)

  • OutAgentState (FAgentState)


SeedEnvironment

void SeedEnvironment(int Seed)

Set the random seed for reproducible environment behavior.

Parameters

  • Seed (int)

SetEnvironmentOptions

void SetEnvironmentOptions(const TMap<FString, FString> &Options)

Configure the environment with custom options.

Parameters

  • Options (const TMap<FString, FString>)

Execute_InitializeEnvironment

static inline void Execute_InitializeEnvironment(
UObject *Obj, TMap<FString, FInteractionDefinition> &OutAgentDefinitions)

Adapter method to convert single-agent initialization to multi-agent format.

Parameters

  • Obj (UObject)

  • OutAgentDefinitions (TMap<FString, FInteractionDefinition>)


Execute_Reset

static inline void
Execute_Reset(UObject *Obj, TMap<FString, FInitialAgentState> &OutAgentState)

Adapter method to convert single-agent reset to multi-agent format.

Parameters

  • Obj (UObject)

  • OutAgentState (TMap<FString, FInitialAgentState>)


Execute_Step

static inline void
Execute_Step(UObject *Obj,
const TMap<FString, TInstancedStruct<FPoint>> &InActions,
TMap<FString, FAgentState> &OutAgentStates)

Adapter method to convert single-agent step to multi-agent format.

Parameters

  • Obj (UObject)

  • InActions (const TMap<FString, TInstancedStruct<FPoint>>)

  • OutAgentStates (TMap<FString, FAgentState>)

Source: Source/ScholaTraining/Public/Environment/SingleAgentEnvironmentInterface.h