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 IBaseScholaEnvironmentMethods
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 voidExecute_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