The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.
This report presents the forensic synthetic code analysis of Unity-Technologies/ml-agents, a C# project with 19,598 GitHub stars. SynthScan v2.0 examined 110,192 lines of code across 789 source files, recording 664 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 7.8 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 664 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Tools/ci/onboard.py | 74 | def update_template_variables(packages): | CODE |
| LOW | ml-agents/tests/yamato/yamato_utils.py | 9 | def get_unity_executable_path(): | CODE |
| LOW | ml-agents/tests/yamato/yamato_utils.py | 209 | def override_legacy_config_file(python_version, src_path, dest_path, **kwargs): | CODE |
| LOW | ml-agents/mlagents/plugins/trainer_type.py | 17 | def get_default_trainer_types() -> Tuple[Dict[str, Any], Dict[str, Any]]: | CODE |
| LOW | ml-agents/mlagents/plugins/stats_writer.py | 13 | def get_default_stats_writers(run_options: RunOptions) -> List[StatsWriter]: | CODE |
| LOW | ml-agents/mlagents/plugins/stats_writer.py | 32 | def register_stats_writer_plugins(run_options: RunOptions) -> List[StatsWriter]: | CODE |
| LOW | ml-agents/mlagents/trainers/upgrade_config.py | 103 | def convert_samplers_and_curriculum( | CODE |
| LOW | ml-agents/mlagents/trainers/subprocess_env_manager.py | 355 | def _assert_worker_can_restart(self, worker_id: int, exception: Exception) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/subprocess_env_manager.py | 376 | def _worker_has_restart_quota(self, worker_id: int) -> bool: | CODE |
| LOW | ml-agents/mlagents/trainers/subprocess_env_manager.py | 392 | def _drop_old_restart_timestamps(self, worker_id: int) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/directory_utils.py | 8 | def validate_existing_directories( | CODE |
| LOW | ml-agents/mlagents/trainers/trainer_controller.py | 115 | def _create_trainer_and_manager( | CODE |
| LOW | ml-agents/mlagents/trainers/trainer_controller.py | 161 | def _create_trainers_and_managers( | CODE |
| LOW | ml-agents/mlagents/trainers/agent_processor.py | 159 | def _add_group_status_and_obs( | CODE |
| LOW | ml-agents/mlagents/trainers/agent_processor.py | 198 | def _clear_group_status_and_obs(self, global_id: GlobalAgentId) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/stats.py | 251 | def _maybe_create_summary_writer(self, category: str) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/learn.py | 175 | def create_environment_factory( | CODE |
| LOW | ml-agents/mlagents/trainers/settings.py | 48 | def check_hyperparam_schedules(val: Dict, trainer_type: str) -> Dict: | CODE |
| LOW | ml-agents/mlagents/trainers/settings.py | 622 | def _set_default_hyperparameters(self): | CODE |
| LOW | ml-agents/mlagents/trainers/settings.py | 626 | def _set_default_checkpoint_interval(self): | CODE |
| LOW | ml-agents/mlagents/trainers/settings.py | 649 | def _check_batch_size_seq_length(self, attribute, value): | CODE |
| LOW | …s/mlagents/trainers/training_analytics_side_channel.py | 136 | def _sanitize_trainer_settings(cls, config: TrainerSettings) -> Dict[str, Any]: | CODE |
| LOW | …s/mlagents/trainers/training_analytics_side_channel.py | 178 | def _behavior_uses_curriculum(self, behavior_name: str) -> bool: | CODE |
| LOW | …nts/mlagents/trainers/environment_parameter_manager.py | 62 | def get_minimum_reward_buffer_size(self, behavior_name: str) -> int: | CODE |
| LOW | …nts/mlagents/trainers/environment_parameter_manager.py | 94 | def get_current_lesson_number(self) -> Dict[str, int]: | CODE |
| LOW | ml-agents/mlagents/trainers/sac/optimizer_torch.py | 40 | def _reward_signal_steps_per_update_default(self): | CODE |
| LOW | …-agents/mlagents/trainers/optimizer/torch_optimizer.py | 141 | def get_trajectory_value_estimates( | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rl_trainer.py | 202 | def test_update_buffer_append(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rl_trainer.py | 236 | def test_warning_group_reward(self): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_stats.py | 22 | def test_stat_reporter_add_summary_write(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_stats.py | 68 | def test_stat_reporter_property(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_stats.py | 114 | def test_agent_manager_stats_report(aggregation_type): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_stats.py | 134 | def test_tensorboard_writer_clear(tmp_path): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_stats.py | 157 | def test_tensorboard_writer_hidden_keys(mock_summary): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_stats.py | 181 | def test_gauge_stat_writer_sanitize(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_stats.py | 230 | def test_selfplay_console_writer(self): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_demo_loader.py | 119 | def test_unsupported_version_raises_error(mock_get_demo_files): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 35 | def generate_list_agent_proto( | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 88 | def generate_compressed_proto_obs( | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 104 | def generate_compressed_proto_obs_with_mapping( | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 123 | def generate_uncompressed_proto_obs(in_array: np.ndarray) -> ObservationProto: | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 205 | def proto_from_steps_and_action( | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 245 | def test_process_pixels_multi_png(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 279 | def test_process_visual_observation(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 301 | def test_process_visual_observation_grayscale(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 325 | def test_process_visual_observation_padded_channels(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 344 | def test_process_visual_observation_bad_shape(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 358 | def test_batched_step_result_from_proto(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 388 | def test_mismatch_observations_raise_in_step_result_from_proto(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 402 | def test_action_masking_discrete(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 453 | def test_action_masking_continuous(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 465 | def test_agent_behavior_spec_from_proto(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 485 | def test_batched_step_result_from_proto_raises_on_infinite(): | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_rpc_utils.py | 496 | def test_batched_step_result_from_proto_raises_on_nan(): | CODE |
| LOW | …nts/mlagents/trainers/tests/test_trainer_controller.py | 43 | def trainer_controller_with_start_learning_mocks(basic_trainer_controller): | CODE |
| LOW | …nts/mlagents/trainers/tests/test_trainer_controller.py | 73 | def test_start_learning_trains_forever_if_no_train_model( | CODE |
| LOW | …nts/mlagents/trainers/tests/test_trainer_controller.py | 90 | def test_start_learning_trains_until_max_steps_then_saves( | CODE |
| LOW | …nts/mlagents/trainers/tests/test_trainer_controller.py | 108 | def trainer_controller_with_take_step_mocks(basic_trainer_controller): | CODE |
| LOW | …nts/mlagents/trainers/tests/test_trainer_controller.py | 122 | def test_advance_adds_experiences_to_trainer_and_trains( | CODE |
| LOW | …trainers/tests/test_training_analytics_side_channel.py | 36 | def test_sanitize_run_options(): | STRING |
| 180 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .yamato/sonar-python-package.yml | 1 | #csharp: | COMMENT |
| LOW | .yamato/com.unity.ml-agents-performance.yml | 1 | #disabling mac perf tests until utr issue is resolved. | COMMENT |
| LOW | .yamato/com.unity.ml-agents-performance.yml | 21 | # cancel_old_ci: true | COMMENT |
| LOW | .yamato/wrench/player-test.yml | 1 | ####################################################### | COMMENT |
| LOW | .yamato/wrench/player-build.yml | 1 | ####################################################### | COMMENT |
| LOW | …ents.tests/Tests/Runtime/Input/TestPushBlockActions.cs | 1 | #if MLA_INPUT_TESTS | COMMENT |
| LOW | …ents.tests/Tests/Runtime/Sensor/GridSensorTestUtils.cs | 21 | } | COMMENT |
| LOW | …ents.tests/Tests/Runtime/Sensor/GridSensorTestUtils.cs | 41 | /// Which will make the total array will be the flattened array | COMMENT |
| LOW | …Agents/Examples/PushBlock/Scripts/PushBlockSettings.cs | 1 | using UnityEngine; | COMMENT |
| LOW | …ssets/ML-Agents/Examples/Match3/Scripts/Match3Agent.cs | 1 | using System; | COMMENT |
| LOW | …ssets/ML-Agents/Examples/Match3/Scripts/Match3Agent.cs | 21 | /// | | | COMMENT |
| LOW | …ssets/ML-Agents/Examples/Match3/Scripts/Match3Agent.cs | 41 | FindMatches = 0, | COMMENT |
| LOW | …ets/ML-Agents/Examples/SharedAssets/Scripts/Monitor.cs | 1 | using System.Collections.Generic; | COMMENT |
| LOW | …ets/ML-Agents/Examples/SharedAssets/Scripts/Monitor.cs | 201 | } | COMMENT |
| LOW | …ts/Examples/SharedAssets/Scripts/CollisionCallbacks.cs | 1 | using UnityEngine; | COMMENT |
| LOW | …ts/Examples/SharedAssets/Scripts/CollisionCallbacks.cs | 21 | [Header("Collider Tag To Detect")] | COMMENT |
| LOW | …ts/Examples/SharedAssets/Scripts/CollisionCallbacks.cs | 61 | // if (respawnIfTouched) | COMMENT |
| LOW | …ts/Examples/SharedAssets/Scripts/CollisionCallbacks.cs | 81 | // /// </summary> | COMMENT |
| LOW | …Agents/Examples/SharedAssets/Scripts/ModelOverrider.cs | 281 | return null; | COMMENT |
| LOW | …Agents/Examples/SharedAssets/Scripts/ModelOverrider.cs | 301 | COMMENT | |
| LOW | …Agents/Examples/SharedAssets/Scripts/ModelOverrider.cs | 321 | // assetData.value = descStream.ToArray(); | COMMENT |
| LOW | …Agents/Examples/SharedAssets/Scripts/ModelOverrider.cs | 341 | // | COMMENT |
| LOW | …xamples/PushBlockWithInput/Scripts/PushBlockActions.cs | 1 | //------------------------------------------------------------------------------ | COMMENT |
| LOW | …xamples/PushBlockWithInput/Scripts/PushBlockActions.cs | 21 | /// <remarks> | COMMENT |
| LOW | …xamples/PushBlockWithInput/Scripts/PushBlockActions.cs | 41 | /// | COMMENT |
| LOW | …xamples/PushBlockWithInput/Scripts/PushBlockActions.cs | 61 | /// { | COMMENT |
| LOW | …xamples/PushBlockWithInput/Scripts/PushBlockActions.cs | 361 | COMMENT | |
| LOW | …xamples/PushBlockWithInput/Scripts/PushBlockActions.cs | 381 | public void Disable() { Get().Disable(); } | COMMENT |
| LOW | …xamples/PushBlockWithInput/Scripts/PushBlockActions.cs | 481 | /// <seealso cref="UnityEngine.InputSystem.InputAction.canceled" /> | COMMENT |
| LOW | …shBlockWithInput/Scripts/PushBlockWithInputSettings.cs | 21 | /// The spawn area margin multiplier. | COMMENT |
| LOW | …ithInput/Scripts/PushBlockWithInputPlayerController.cs | 1 | using Unity.MLAgents.Input; | COMMENT |
| LOW | ml-agents-envs/mlagents_envs/environment.py | 61 | # Revision history: | COMMENT |
| LOW | ml-agents-envs/tests/simple_test_envs.py | 221 | # new_vector_obs = self._make_obs(self.goal[name]) | COMMENT |
| LOW | com.unity.ml-agents/Runtime/InplaceArray.cs | 201 | } | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Timer.cs | 21 | const double k_TicksToSeconds = 1e-7; // 100 ns per tick | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Timer.cs | 41 | /// Number of total ticks elapsed for this node. | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Timer.cs | 301 | /// The largest value that has been seen for the gauge since it was created. | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Timer.cs | 341 | weightedAverage = (k_SmoothingFactor * newValue) + ((1f - k_SmoothingFactor) * weightedAverage); | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Timer.cs | 361 | /// doSomeMoreWork(); | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Academy.cs | 41 | else | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Academy.cs | 61 | /// fall back to inference or heuristic decisions. (You can also set agents to always use | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Academy.cs | 81 | /// </item> | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Academy.cs | 121 | /// </summary> | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Academy.cs | 201 | // that all the agents perform their steps in a consistent order (i.e. no | COMMENT |
| LOW | com.unity.ml-agents/Runtime/SimpleMultiAgentGroup.cs | 61 | { | COMMENT |
| LOW | com.unity.ml-agents/Runtime/SimpleMultiAgentGroup.cs | 81 | public void AddGroupReward(float reward) | COMMENT |
| LOW | com.unity.ml-agents/Runtime/SimpleMultiAgentGroup.cs | 101 | /// Group rewards are treated differently than individual agent rewards during training, so | COMMENT |
| LOW | com.unity.ml-agents/Runtime/EnvironmentParameters.cs | 1 | using System; | COMMENT |
| LOW | com.unity.ml-agents/Runtime/EnvironmentParameters.cs | 21 | COMMENT | |
| LOW | com.unity.ml-agents/Runtime/EnvironmentParameters.cs | 41 | return m_Channel.GetWithDefault(key, defaultValue); | COMMENT |
| LOW | com.unity.ml-agents/Runtime/SensorHelper.cs | 1 | using Unity.InferenceEngine; | COMMENT |
| LOW | com.unity.ml-agents/Runtime/StatsRecorder.cs | 1 | using Unity.MLAgents.SideChannels; | COMMENT |
| LOW | com.unity.ml-agents/Runtime/StatsRecorder.cs | 21 | COMMENT | |
| LOW | com.unity.ml-agents/Runtime/IMultiAgentGroup.cs | 1 | namespace Unity.MLAgents | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Agent.cs | 21 | /// <summary> | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Agent.cs | 41 | COMMENT | |
| LOW | com.unity.ml-agents/Runtime/Agent.cs | 101 | { } | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Agent.cs | 121 | /// | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Agent.cs | 141 | /// making is used. | COMMENT |
| LOW | com.unity.ml-agents/Runtime/Agent.cs | 161 | /// environment -- by implementing the <see cref="OnEpisodeBegin"/> function. An agent also | COMMENT |
| 148 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ml-agents/mlagents/trainers/sac/trainer.py | 0 | responsible for collecting experiences and training a2c model. :param behavior_name: the name of the behavior associated | STRING |
| HIGH | …iner-plugin/mlagents_trainer_plugin/dqn/dqn_trainer.py | 0 | responsible for collecting experiences and training a2c model. :param behavior_name: the name of the behavior associated | STRING |
| HIGH | ml-agents/mlagents/trainers/ppo/trainer.py | 0 | responsible for collecting experiences and training a2c model. :param behavior_name: the name of the behavior associated | STRING |
| HIGH | ml-agents/mlagents/trainers/poca/trainer.py | 0 | responsible for collecting experiences and training a2c model. :param behavior_name: the name of the behavior associated | STRING |
| HIGH | …-agents/mlagents/trainers/trainer/on_policy_trainer.py | 0 | responsible for collecting experiences and training a2c model. :param behavior_name: the name of the behavior associated | STRING |
| HIGH | …agents/mlagents/trainers/trainer/off_policy_trainer.py | 0 | responsible for collecting experiences and training a2c model. :param behavior_name: the name of the behavior associated | STRING |
| HIGH | …iner-plugin/mlagents_trainer_plugin/a2c/a2c_trainer.py | 0 | responsible for collecting experiences and training a2c model. :param behavior_name: the name of the behavior associated | STRING |
| HIGH | ml-agents/mlagents/trainers/sac/trainer.py | 0 | creates a policy with a pytorch backend and poca hyperparameters :param parsed_behavior_id: :param behavior_spec: specif | STRING |
| HIGH | ml-agents/mlagents/trainers/ppo/trainer.py | 0 | creates a policy with a pytorch backend and poca hyperparameters :param parsed_behavior_id: :param behavior_spec: specif | STRING |
| HIGH | …iner-plugin/mlagents_trainer_plugin/a2c/a2c_trainer.py | 0 | creates a policy with a pytorch backend and poca hyperparameters :param parsed_behavior_id: :param behavior_spec: specif | STRING |
| HIGH | ml-agents/mlagents/trainers/poca/trainer.py | 0 | creates a policy with a pytorch backend and poca hyperparameters :param parsed_behavior_id: :param behavior_spec: specif | STRING |
| HIGH | ml-agents/mlagents/trainers/sac/trainer.py | 0 | gets policy from trainer associated with name_behavior_id :param name_behavior_id: full identifier of policy | STRING |
| HIGH | ml-agents/mlagents/trainers/ppo/trainer.py | 0 | gets policy from trainer associated with name_behavior_id :param name_behavior_id: full identifier of policy | STRING |
| HIGH | ml-agents/mlagents/trainers/poca/trainer.py | 0 | gets policy from trainer associated with name_behavior_id :param name_behavior_id: full identifier of policy | STRING |
| HIGH | ml-agents/mlagents/trainers/ppo/optimizer_torch.py | 0 | performs update on model. :param batch: batch of experiences. :param num_sequences: number of sequences to process. :ret | STRING |
| HIGH | ml-agents/mlagents/trainers/poca/optimizer_torch.py | 0 | performs update on model. :param batch: batch of experiences. :param num_sequences: number of sequences to process. :ret | STRING |
| HIGH | …er-plugin/mlagents_trainer_plugin/dqn/dqn_optimizer.py | 0 | performs update on model. :param batch: batch of experiences. :param num_sequences: number of sequences to process. :ret | STRING |
| HIGH | …er-plugin/mlagents_trainer_plugin/a2c/a2c_optimizer.py | 0 | performs update on model. :param batch: batch of experiences. :param num_sequences: number of sequences to process. :ret | STRING |
| HIGH | ml-agents/mlagents/trainers/ppo/trainer.py | 0 | takes a trajectory and processes it, putting it into the update buffer. processing involves calculating value and advant | STRING |
| HIGH | ml-agents/mlagents/trainers/poca/trainer.py | 0 | takes a trajectory and processes it, putting it into the update buffer. processing involves calculating value and advant | STRING |
| HIGH | …iner-plugin/mlagents_trainer_plugin/a2c/a2c_trainer.py | 0 | takes a trajectory and processes it, putting it into the update buffer. processing involves calculating value and advant | STRING |
| HIGH | ml-agents/mlagents/trainers/poca/trainer.py | 0 | returns whether or not the trainer has enough elements to run update model :return: a boolean corresponding to wether or | STRING |
| HIGH | …-agents/mlagents/trainers/trainer/on_policy_trainer.py | 0 | returns whether or not the trainer has enough elements to run update model :return: a boolean corresponding to wether or | STRING |
| HIGH | …agents/mlagents/trainers/trainer/off_policy_trainer.py | 0 | returns whether or not the trainer has enough elements to run update model :return: a boolean corresponding to wether or | STRING |
| HIGH | ml-agents/mlagents/trainers/trainer/rl_trainer.py | 0 | returns whether or not the trainer has enough elements to run update model :return: a boolean corresponding to wether or | STRING |
| HIGH | ml-agents-envs/mlagents_envs/rpc_communicator.py | 0 | sends a shutdown signal to the unity environment, and closes the socket connection. | STRING |
| HIGH | ml-agents-envs/mlagents_envs/mock_communicator.py | 0 | sends a shutdown signal to the unity environment, and closes the socket connection. | STRING |
| HIGH | ml-agents-envs/mlagents_envs/communicator.py | 0 | sends a shutdown signal to the unity environment, and closes the socket connection. | STRING |
| HIGH | ml-agents-envs/mlagents_envs/environment.py | 0 | sends a shutdown signal to the unity environment, and closes the socket connection. | STRING |
| HIGH | …s-envs/mlagents_envs/side_channel/raw_bytes_channel.py | 0 | is called by the environment to the side channel. can be called multiple times per step if multiple messages are meant f | STRING |
| HIGH | …mlagents_envs/side_channel/float_properties_channel.py | 0 | is called by the environment to the side channel. can be called multiple times per step if multiple messages are meant f | STRING |
| HIGH | …agents-envs/mlagents_envs/side_channel/side_channel.py | 0 | is called by the environment to the side channel. can be called multiple times per step if multiple messages are meant f | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Tools/ci/onboard.py | 38 | CODE | |
| LOW | ml-agents/tests/yamato/check_coverage_percent.py | 7 | CODE | |
| LOW | ml-agents/tests/yamato/scripts/run_llapi.py | 9 | CODE | |
| LOW | ml-agents/mlagents/trainers/upgrade_config.py | 17 | CODE | |
| LOW | ml-agents/mlagents/trainers/upgrade_config.py | 103 | CODE | |
| LOW | ml-agents/mlagents/trainers/subprocess_env_manager.py | 116 | CODE | |
| LOW | ml-agents/mlagents/trainers/subprocess_env_manager.py | 330 | CODE | |
| LOW | ml-agents/mlagents/trainers/subprocess_env_manager.py | 406 | CODE | |
| LOW | ml-agents/mlagents/trainers/trajectory.py | 145 | CODE | |
| LOW | ml-agents/mlagents/trainers/demo_loader.py | 105 | CODE | |
| LOW | ml-agents/mlagents/trainers/demo_loader.py | 174 | CODE | |
| LOW | ml-agents/mlagents/trainers/agent_processor.py | 90 | CODE | |
| LOW | ml-agents/mlagents/trainers/agent_processor.py | 212 | CODE | |
| LOW | ml-agents/mlagents/trainers/agent_processor.py | 441 | CODE | |
| LOW | ml-agents/mlagents/trainers/settings.py | 671 | CODE | |
| LOW | ml-agents/mlagents/trainers/settings.py | 894 | CODE | |
| LOW | …s/mlagents/trainers/training_analytics_side_channel.py | 54 | CODE | |
| LOW | ml-agents/mlagents/trainers/simple_env_manager.py | 50 | CODE | |
| LOW | …nts/mlagents/trainers/environment_parameter_manager.py | 62 | CODE | |
| LOW | …nts/mlagents/trainers/environment_parameter_manager.py | 135 | CODE | |
| LOW | ml-agents/mlagents/trainers/sac/optimizer_torch.py | 277 | CODE | |
| LOW | ml-agents/mlagents/trainers/tests/simple_test_envs.py | 427 | CODE | |
| LOW | ml-agents/mlagents/trainers/tests/simple_test_envs.py | 501 | CODE | |
| LOW | ml-agents/mlagents/trainers/tests/test_settings.py | 45 | CODE | |
| LOW | ml-agents/mlagents/trainers/ghost/trainer.py | 219 | CODE | |
| LOW | ml-agents/mlagents/trainers/torch_entities/layers.py | 62 | CODE | |
| LOW | …nts/mlagents/trainers/model_saver/torch_model_saver.py | 85 | CODE | |
| LOW | ml-agents/mlagents/trainers/trainer/rl_trainer.py | 278 | CODE | |
| LOW | utils/validate_release_links.py | 143 | CODE | |
| LOW | utils/validate_meta_files.py | 4 | CODE | |
| LOW | ml-agents-envs/mlagents_envs/env_utils.py | 20 | CODE | |
| LOW | ml-agents-envs/mlagents_envs/rpc_utils.py | 317 | CODE | |
| LOW | ml-agents-envs/mlagents_envs/registry/binary_utils.py | 27 | CODE | |
| LOW | ml-agents-envs/mlagents_envs/registry/binary_utils.py | 70 | CODE | |
| LOW | …s-envs/mlagents_envs/envs/unity_pettingzoo_base_env.py | 112 | CODE | |
| LOW | …s-envs/mlagents_envs/envs/unity_pettingzoo_base_env.py | 147 | CODE | |
| LOW | ml-agents-envs/tests/simple_test_envs.py | 374 | CODE | |
| LOW | ml-agents-envs/tests/simple_test_envs.py | 450 | CODE | |
| LOW | ml-agents-envs/tests/test_timers.py | 12 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ml-agents/mlagents/torch_utils/torch.py | 42 | def set_torch_config(torch_settings: TorchSettings) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/subprocess_env_manager.py | 449 | def set_env_parameters(self, config: Dict = None) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/env_manager.py | 45 | def set_policy(self, brain_name: BehaviorName, policy: Policy) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/env_manager.py | 72 | def set_env_parameters(self, config: Dict = None) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/training_status.py | 100 | def set_parameter_state(category: str, key: StatusType, value: Any) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/stats.py | 343 | def set_stat(self, key: str, value: float) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/settings.py | 738 | def set_config_specified(self, require_config_specified: bool) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/simple_env_manager.py | 50 | def set_env_parameters(self, config: Dict = None) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/torch_entities/encoders.py | 108 | def update_normalization(self, inputs: torch.Tensor) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/torch_entities/networks.py | 86 | def update_normalization(self, buffer: AgentBuffer) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/torch_entities/networks.py | 225 | def update_normalization(self, buffer: AgentBuffer) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/torch_entities/networks.py | 327 | def update_normalization(self, buffer: AgentBuffer) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/torch_entities/networks.py | 436 | def update_normalization(self, buffer: AgentBuffer) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/torch_entities/networks.py | 479 | def update_normalization(self, buffer: AgentBuffer) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/torch_entities/networks.py | 513 | def update_normalization(self, buffer: AgentBuffer) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/torch_entities/networks.py | 619 | def update_normalization(self, buffer: AgentBuffer) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/torch_entities/utils.py | 54 | def update_learning_rate(optim: torch.optim.Optimizer, lr: float) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/poca/optimizer_torch.py | 84 | def update_normalization(self, buffer: AgentBuffer) -> None: | CODE |
| LOW | …agents/mlagents/trainers/trainer/off_policy_trainer.py | 237 | def _update_reward_signals(self) -> None: | CODE |
| LOW | ml-agents/mlagents/trainers/trainer/rl_trainer.py | 70 | def _update_end_episode_stats(self, agent_id: str, optimizer: Optimizer) -> None: | CODE |
| LOW | …er-plugin/mlagents_trainer_plugin/dqn/dqn_optimizer.py | 210 | def update_normalization(self, buffer: AgentBuffer) -> None: | CODE |
| LOW | utils/validate_versions.py | 94 | def set_package_version(new_version: str) -> None: | STRING |
| LOW | ml-agents-envs/mlagents_envs/logging_util.py | 43 | def set_log_level(log_level: int) -> None: | CODE |
| LOW | ml-agents-envs/mlagents_envs/logging_util.py | 60 | def _set_formatter_for_all_loggers(formatter: logging.Formatter) -> None: | CODE |
| LOW | ml-agents-envs/mlagents_envs/base_env.py | 584 | def set_actions(self, behavior_name: BehaviorName, action: ActionTuple) -> None: | CODE |
| LOW | ml-agents-envs/mlagents_envs/environment.py | 287 | def _update_behavior_specs(self, output: UnityOutputProto) -> None: | CODE |
| LOW | ml-agents-envs/mlagents_envs/environment.py | 299 | def _update_state(self, output: UnityRLOutputProto) -> None: | CODE |
| LOW | ml-agents-envs/mlagents_envs/environment.py | 367 | def set_actions(self, behavior_name: BehaviorName, action: ActionTuple) -> None: | CODE |
| LOW | ml-agents-envs/mlagents_envs/timers.py | 226 | def set_gauge(self, name: str, value: float) -> None: | CODE |
| LOW | ml-agents-envs/mlagents_envs/timers.py | 313 | def set_gauge(name: str, value: float, timer_stack: TimerStack = None) -> None: | CODE |
| LOW | …ts-envs/mlagents_envs/side_channel/outgoing_message.py | 56 | def set_raw_bytes(self, buffer: bytearray) -> None: | CODE |
| LOW | …ents_envs/side_channel/engine_configuration_channel.py | 123 | def set_configuration(self, config: EngineConfig) -> None: | CODE |
| LOW | …mlagents_envs/side_channel/float_properties_channel.py | 29 | def set_property(self, key: str, value: float) -> None: | CODE |
| LOW | …ts_envs/side_channel/environment_parameters_channel.py | 34 | def set_float_parameter(self, key: str, value: float) -> None: | CODE |
| LOW | …s-envs/mlagents_envs/envs/unity_pettingzoo_base_env.py | 76 | def _update_observation_spaces(self) -> None: | CODE |
| LOW | …s-envs/mlagents_envs/envs/unity_pettingzoo_base_env.py | 112 | def _update_action_spaces(self) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …agents/Runtime/Grpc/CommunicatorObjects/Observation.cs | 350 | FloatData = new global::Unity.MLAgents.CommunicatorObjects.ObservationProto.Types.FloatData(); | CODE |
| CRITICAL | …agents/Runtime/Grpc/CommunicatorObjects/Observation.cs | 381 | global::Unity.MLAgents.CommunicatorObjects.ObservationProto.Types.FloatData subBuilder = new global::Unity.M | CODE |
| CRITICAL | …s/Runtime/SideChannels/TrainingAnalyticsSideChannel.cs | 29 | anyMessage = Google.Protobuf.WellKnownTypes.Any.Parser.ParseFrom(msg.GetRawBytes()); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ml-agents/mlagents/torch_utils/__init__.py | 1 | CODE | |
| LOW | ml-agents/mlagents/torch_utils/__init__.py | 2 | CODE | |
| LOW | ml-agents/mlagents/torch_utils/__init__.py | 3 | CODE | |
| LOW | ml-agents/mlagents/torch_utils/__init__.py | 4 | CODE | |
| LOW | ml-agents/mlagents/trainers/optimizer/__init__.py | 1 | CODE | |
| LOW | …ts/mlagents/trainers/tests/torch_entities/test_poca.py | 8 | CODE | |
| LOW | …nts/mlagents/trainers/tests/torch_entities/test_sac.py | 6 | CODE | |
| LOW | …torch_entities/components/reward_providers/__init__.py | 1 | CODE | |
| LOW | …torch_entities/components/reward_providers/__init__.py | 4 | CODE | |
| LOW | …torch_entities/components/reward_providers/__init__.py | 7 | CODE | |
| LOW | …torch_entities/components/reward_providers/__init__.py | 10 | CODE | |
| LOW | …torch_entities/components/reward_providers/__init__.py | 13 | CODE | |
| LOW | …torch_entities/components/reward_providers/__init__.py | 16 | CODE | |
| LOW | ml-agents/mlagents/trainers/trainer/__init__.py | 1 | CODE | |
| LOW | ml-agents/mlagents/trainers/trainer/__init__.py | 2 | CODE | |
| LOW | ml-agents/mlagents/trainers/policy/__init__.py | 1 | CODE | |
| LOW | …envs/mlagents_envs/communicator_objects/command_pb2.py | 8 | CODE | |
| LOW | …envs/mlagents_envs/communicator_objects/command_pb2.py | 9 | CODE | |
| LOW | …s/mlagents_envs/communicator_objects/space_type_pb2.py | 8 | CODE | |
| LOW | …s/mlagents_envs/communicator_objects/space_type_pb2.py | 9 | CODE | |
| LOW | …nts_envs/communicator_objects/unity_to_external_pb2.py | 7 | CODE | |
| LOW | …nts_envs/communicator_objects/unity_to_external_pb2.py | 8 | CODE | |
| LOW | …nts_envs/communicator_objects/unity_to_external_pb2.py | 15 | CODE | |
| LOW | ml-agents-envs/mlagents_envs/registry/__init__.py | 1 | CODE | |
| LOW | ml-agents-envs/mlagents_envs/registry/__init__.py | 1 | CODE | |
| LOW | ml-agents-envs/mlagents_envs/side_channel/__init__.py | 1 | CODE | |
| LOW | ml-agents-envs/mlagents_envs/side_channel/__init__.py | 2 | CODE | |
| LOW | ml-agents-envs/mlagents_envs/side_channel/__init__.py | 4 | CODE | |
| LOW | ml-agents-envs/mlagents_envs/side_channel/__init__.py | 5 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ml-agents/mlagents/trainers/tests/test_demo_loader.py | 120 | # Create a metadata proto with an unsupported version | COMMENT |
| MEDIUM | ml-agents/mlagents/trainers/tests/__init__.py | 5 | # This file is importer by pytest multiple times, but this breaks the patching | COMMENT |
| MEDIUM | …ents/mlagents/trainers/torch_entities/distributions.py | 131 | # This function is equivalent to torch.diag(self.probs.T[value.flatten().long()]), | COMMENT |
| MEDIUM | ml-agents/mlagents/trainers/model_saver/model_saver.py | 7 | """This class is the base class for the ModelSaver""" | STRING |
| MEDIUM | ml-agents/mlagents/trainers/ppo/optimizer_torch.py | 44 | # Create the graph here to give more granular control of the TF graph to the Optimizer. | COMMENT |
| MEDIUM | ml-agents/mlagents/trainers/poca/optimizer_torch.py | 163 | # Create the graph here to give more granular control of the TF graph to the Optimizer. | COMMENT |
| MEDIUM | ml-agents/mlagents/trainers/trainer/trainer.py | 20 | """This class is the base class for the mlagents_envs.trainers""" | STRING |
| MEDIUM | …er-plugin/mlagents_trainer_plugin/a2c/a2c_optimizer.py | 49 | # Create the graph here to give more granular control of the TF graph to the Optimizer. | COMMENT |
| MEDIUM | …nvs/communicator_objects/unity_to_external_pb2_grpc.py | 48 | # This class is part of an EXPERIMENTAL API. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ml-agents/mlagents/trainers/learn.py | 74 | # Check if directory exists | COMMENT |
| LOW | ml-agents/mlagents/trainers/settings.py | 49 | # Check if beta and epsilon are set. If not, set to match learning rate schedule. | COMMENT |
| LOW | ml-agents/mlagents/trainers/settings.py | 605 | # Assign team_change to about 4x save_steps | COMMENT |
| LOW | ml-agents/mlagents/trainers/settings.py | 682 | # Check if a default_settings was specified. If so, used those as the default | COMMENT |
| LOW | ml-agents/mlagents/trainers/sac/trainer.py | 94 | # Check if we used group rewards, warn if so. | COMMENT |
| LOW | …nts/mlagents/trainers/tests/torch_entities/test_ppo.py | 180 | # Check if buffer size is too big | COMMENT |
| LOW | …nts/mlagents/trainers/tests/torch_entities/test_ppo.py | 237 | # Check if we ignore terminal states properly | COMMENT |
| LOW | …ts/mlagents/trainers/tests/torch_entities/test_poca.py | 182 | # Check if we ignore terminal states properly | COMMENT |
| LOW | …ts/mlagents/trainers/tests/torch_entities/test_poca.py | 281 | # Check if buffer size is too big | COMMENT |
| LOW | ml-agents/mlagents/trainers/ppo/trainer.py | 78 | # Check if we used group rewards, warn if so. | COMMENT |
| LOW | …iner-plugin/mlagents_trainer_plugin/dqn/dqn_trainer.py | 63 | # Check if we used group rewards, warn if so. | COMMENT |
| LOW | …iner-plugin/mlagents_trainer_plugin/a2c/a2c_trainer.py | 76 | # Check if we used group rewards, warn if so. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | ml-agents/mlagents/utils/push_to_hf.py | 64 | # Step 1: Read the config.json | COMMENT |
| LOW⚡ | ml-agents/mlagents/utils/push_to_hf.py | 72 | # Step 2: Create the metadata | COMMENT |
| LOW⚡ | ml-agents/mlagents/utils/push_to_hf.py | 75 | # Step 3: Generate the model card | COMMENT |
| LOW⚡ | ml-agents/mlagents/utils/push_to_hf.py | 148 | # Step 1: Create the repo | STRING |
| LOW⚡ | ml-agents/mlagents/utils/push_to_hf.py | 158 | # Step 2: Create a config file | STRING |
| LOW⚡ | ml-agents/mlagents/utils/push_to_hf.py | 161 | # Step 3: Generate and save the model card | STRING |
| LOW | …gents/Documentation~/Tutorial-Custom-Trainer-Plugin.md | 5 | ### Step 1: Write your custom trainer class | COMMENT |
| LOW | …gents/Documentation~/Tutorial-Custom-Trainer-Plugin.md | 114 | ### Step 2: implement your custom optimizer for the trainer. | COMMENT |
| LOW | …gents/Documentation~/Tutorial-Custom-Trainer-Plugin.md | 196 | ### Step 3: Integrate your custom trainer into the plugin system | COMMENT |
| LOW | …gents/Documentation~/Tutorial-Custom-Trainer-Plugin.md | 239 | ### Step 4: Install your custom trainer and run training: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ml-agents/tests/yamato/training_int_tests.py | 156 | print("Error running inference!") | CODE |
| LOW | ml-agents/mlagents/trainers/subprocess_env_manager.py | 228 | except Exception as ex: | CODE |
| LOW | ml-agents/mlagents/trainers/trainer_controller.py | 88 | except Exception: | CODE |
| LOW | ml-agents/mlagents/trainers/trainer_controller.py | 280 | except Exception: | CODE |
| MEDIUM | ml-agents/mlagents/trainers/trainer_controller.py | 84 | def _create_output_path(output_path): | CODE |
| LOW | ml-agents/mlagents/trainers/learn.py | 228 | except Exception: | CODE |
| LOW | ml-agents/mlagents/trainers/tests/test_torch_utils.py | 38 | except Exception: | CODE |
| MEDIUM | ml-agents/mlagents/trainers/tests/test_torch_utils.py | 21 | def test_set_torch_device( | CODE |
| LOW | ml-agents-envs/mlagents_envs/rpc_communicator.py | 74 | except Exception: | CODE |
| LOW⚡ | ml-agents-envs/mlagents_envs/environment.py | 510 | except Exception: | CODE |
| LOW | ml-agents-envs/mlagents_envs/registry/binary_utils.py | 52 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ml-agents/mlagents/trainers/torch_entities/networks.py | 290 | # Modules for multi-agent self-attention | COMMENT |
| MEDIUM | ml-agents-envs/mlagents_envs/environment.py | 67 | # * 1.5.0 - support variable length observation training and multi-agent groups. | COMMENT |
| MEDIUM | …m.unity.ml-agents/Documentation~/ML-Agents-Overview.md | 195 | See our [Designing Agents](Learning-Environment-Design-Agents.md#defining-multi-agent-scenarios) page for more informati | CODE |
| MEDIUM | com.unity.ml-agents/Documentation~/index.md | 7 | This documentation contains comprehensive instructions about [Unity ML-Agents Toolkit](https://github.com/Unity-Technolo | CODE |
| MEDIUM | com.unity.ml-agents/Documentation~/Migrating.md | 405 | - We have removed the `Done` call as well as the capacity to set `Max Steps` on the Academy. Therefore, an AcademyReset | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ml-agents/mlagents/trainers/trajectory.py | 116 | CODE | |
| LOW | ml-agents/mlagents/trainers/trajectory.py | 133 | CODE | |
| LOW | …s/mlagents/trainers/training_analytics_side_channel.py | 45 | CODE | |
| LOW | ml-agents/mlagents/trainers/tests/simple_test_envs.py | 42 | CODE | |
| LOW | ml-agents/mlagents/trainers/tests/simple_test_envs.py | 351 | CODE | |
| LOW | ml-agents/mlagents/trainers/torch_entities/attention.py | 265 | CODE | |
| LOW | …gents/mlagents/trainers/torch_entities/conditioning.py | 133 | CODE | |
| LOW | ml-agents-envs/mlagents_envs/environment.py | 145 | CODE | |
| LOW | …nvs/communicator_objects/unity_to_external_pb2_grpc.py | 53 | CODE | |
| LOW | ml-agents-envs/tests/simple_test_envs.py | 46 | CODE | |
| LOW | ml-agents-envs/tests/simple_test_envs.py | 297 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | ml-agents/mlagents/utils/push_to_hf.py | 64 | # Step 1: Read the config.json | COMMENT |
| LOW⚡ | ml-agents/mlagents/utils/push_to_hf.py | 72 | # Step 2: Create the metadata | COMMENT |
| LOW⚡ | ml-agents/mlagents/utils/push_to_hf.py | 75 | # Step 3: Generate the model card | COMMENT |
| LOW⚡ | ml-agents/mlagents/utils/push_to_hf.py | 148 | # Step 1: Create the repo | STRING |
| LOW⚡ | ml-agents/mlagents/utils/push_to_hf.py | 158 | # Step 2: Create a config file | STRING |
| LOW⚡ | ml-agents/mlagents/utils/push_to_hf.py | 161 | # Step 3: Generate and save the model card | STRING |
| LOW | ml-agents/mlagents/trainers/tests/test_buffer.py | 208 | # We need to check if we ever get a breaking start - this will maximize the probability | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …agents/trainers/tests/torch_entities/test_simple_rl.py | 450 | # Otherwise, we can just call solve to execute the optimal policy | COMMENT |
| LOW | ml-agents-envs/mlagents_envs/registry/binary_utils.py | 133 | # TODO: Once we don't use python 3.7 we should just use exists_ok=True when creating the dirs to avoid this. | COMMENT |
| MEDIUM | …nts/Runtime/Input/Adaptors/ButtonInputActionAdaptor.cs | 17 | /// TODO this method needs to be more nuanced depending the types of controls that can back it. i.e. TriggerCon | COMMENT |
| MEDIUM | …nts/Runtime/Input/Adaptors/ButtonInputActionAdaptor.cs | 29 | /// TODO again this might need to be more nuanced for things like continuous buttons. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ml-agents/mlagents/trainers/env_manager.py | 116 | # We make sure to empty the policy queue before continuing to produce steps. | COMMENT |
| LOW | ml-agents/mlagents/trainers/trainer_controller.py | 195 | # If the environment failed, we want to make sure to raise | COMMENT |
| LOW | ml-agents/mlagents/trainers/agent_processor.py | 435 | # In the environment manager, we make sure to empty the policy queue before continuing to produce steps. | COMMENT |
| LOW | …nts/mlagents/trainers/tests/torch_entities/test_ppo.py | 207 | # Time horizon is longer than sequence length, make sure to test | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ml-agents-envs/mlagents_envs/timers.py | 277 | timer_node = timer_stack.push(name) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ests/Tests/Editor/TrainingAnalyticsSideChannelTests.cs | 48 | var badBytes = Encoding.ASCII.GetBytes("Lorem ipsum"); | CODE |
| LOW | DevProject/Assets/placeholder.txt | 1 | lorem ipsum | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | com.unity.ml-agents/Runtime/Timer.cs | 352 | /// Example usage: | COMMENT |