Unity-Technologies/ml-agents · error · UnityTrainerException

Unknown reward signal type {name}

Error message

Unknown reward signal type {name}

What it means

Raised by create_reward_provider when the requested reward signal name is not a key of the RewardSignalType-to-provider-class registry (which maps only extrinsic, curiosity, gail, rnd, etc.). It is a lookup guard over the reward_signals section of the trainer config: the signal name string at fault is either misspelled, or it is a signal type from another ml-agents version (e.g. an old or non-existent signal) for which no provider class exists in the installed package.

Source

Thrown at ml-agents/mlagents/trainers/torch_entities/components/reward_providers/reward_provider_factory.py:44

    RewardSignalType.CURIOSITY: CuriosityRewardProvider,
    RewardSignalType.GAIL: GAILRewardProvider,
    RewardSignalType.RND: RNDRewardProvider,
}


def create_reward_provider(
    name: RewardSignalType, specs: BehaviorSpec, settings: RewardSignalSettings
) -> BaseRewardProvider:
    """
    Creates a reward provider class based on the name and config entry provided as a dict.
    :param name: The name of the reward signal
    :param specs: The BehaviorSpecs of the policy
    :param settings: The RewardSignalSettings for that reward signal
    :return: The reward signal class instantiated
    """
    rcls = NAME_TO_CLASS.get(name)
    if not rcls:
        raise UnityTrainerException(f"Unknown reward signal type {name}")

    class_inst = rcls(specs, settings)
    return class_inst

View on GitHub (pinned to 3ecb446f75)

Solutions

  1. Correct the reward signal name in the reward_signals section of the YAML config (valid names include extrinsic, curiosity, gail, rnd) to fix typos or casing
  2. Remove reward signals that are not supported by the ml-agents version you are running
  3. Upgrade or downgrade ml-agents to the version that supports the reward signal you want
  4. Ensure the name under reward_signals is a plain mapping key, not a list or nested structure
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at ml-agents/mlagents/trainers/torch_entities/components/reward_providers/reward_provider_factory.py:44 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Unity-Technologies/ml-agents@3ecb446f75 (2026-09-02). Data as JSON: /api/errors/8a7e66dd994db473. Report an issue: GitHub.