What is Unity? Why was it chosen?
Unity is one of two major engines for independent video game development.
Cross platform support ensures a large potential audience. There is support for Windows, Mac, Android, iOS, Linux, WebGL Console, VR, and more. Beautiful, responsive graphics also helps attract and keep players.
Existing technical infrastructure for scaling and operationalizing massive multiplayer online games allows modelers to focus on modeling instead of technology
Scalability and cloud integration supports thousands of AI agents operating within complex worlds.
Wide main stream adoption among independent game creators provides an existing pool of trained developers.
C# has security features that aren't possible in C++. Preventing buffer overflows and removing pointers allows a much more reliable sandbox environment. Security is a major differentiator between Unity and Unreal -the only major competitor for independent game engines.
For more information on what makes Unity particularly good for machine learning and intelligent agents, see the Unity ML whitepaper https://arxiv.org/abs/1809.02627
Unity is a game engine, development environment, and much more.
The Entity Component System (ECS) provides scalability, modularity, parallelism, cross platform(ness), and much more