Skip to content

IMultiAgentScholaEnvironment

Interface for multi-agent reinforcement learning environments.

Implement this interface in your environment class to create a multi-agent RL environment. All methods are Blueprint Native Events, allowing implementation in either C++ or Blueprint. Each agent is identified by a unique string ID.

class IMultiAgentScholaEnvironment : public IBaseScholaEnvironment

Methods

InitializeEnvironment

void InitializeEnvironment(
TMap<FString, FInteractionDefinition> &OutAgentDefinitions)

Initialize the environment and define all agents’ observation and action spaces.

Parameters

  • OutAgentDefinitions (TMap<FString, FInteractionDefinition>)

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>)

Reset

void Reset(TMap<FString, FInitialAgentState> &OutAgentState)

Reset the environment to its initial state for all agents.

Parameters

  • OutAgentState (TMap<FString, FInitialAgentState>)

Step

void Step(const TMap<FString, FInstancedStruct> &InActions,
TMap<FString, FAgentState> &OutAgentStates)

Execute one environment step with actions from all agents.

Parameters

  • InActions (const TMap<FString, FInstancedStruct>)

  • OutAgentStates (TMap<FString, FAgentState>)


Execute_Step

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

Type-safe adapter method for executing steps with typed actions.

Parameters

  • Obj (UObject)

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

  • OutAgentStates (TMap<FString, FAgentState>)

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