Case study

San Andreas Unity: a GTA San Andreas engine reimplementation in Unity

Reimplements the Grand Theft Auto: San Andreas engine in Unity (C#), loading the archives, RenderWare models and textures, collision, animations, audio, text and item definitions from the user’s own PC installation. README says it will not be a complete reimplementation; it focuses on gameplay features, multiplayer and a framework for extending and modding the game through C# plugins. Development has stalled: the newest commit on any branch dates from 2022-09-30.

Requirements & limits

  • Reviewed at the head of the default dev branch, committed 2022-09-30; no branch has a later commit, GitHub records the last push on 2023-06-16 and the latest release is v4.0 (2022-05-24), so the project appears inactive. README says it will not be a complete reimplementation and focuses on gameplay, multiplayer and a moddable framework; Docs/TODO.md still lists work such as asynchronous geometry loading and unloading distant parts of the world. The reviewed files do not describe how the original engine was analysed.
  • Play requires a PC installation of GTA San Andreas that the user owns: on first start the game asks for its path, and config.json points the loaders at data files such as gta.dat, the vehicle, ped and default .ide files, handling.cfg, water.dat, carcols.dat and weapon.dat. The Android build needs those PC files copied to the device, about 5 GB according to the wiki, with the audio folder optional. The repository ships no game data; the NavMeshes submodule holds a precomputed navigation mesh, which the wiki says is generated from the imported game world because the original game has none.
  • Development uses Unity 2020.3.26 or newer (the project file names 2020.3.26f1), a recursive clone of the MirrorLite, UnityStandardAssets, NavMeshes, NetworkDiscoveryUnity and UGameCoreUtilities submodules and the Startup scene. README reports testing on Linux, Windows, macOS and Android with both Mono and IL2CPP backends; v4.0 provides Windows and Linux archives and an Android APK. Multiplayer runs as a dedicated server, host or client, and game modes load as C# DLL plugins.
  • There is no CI workflow or automated test suite for the importers or gameplay, and no comparison with the original executable is published. Evidence consists of README claims that multiplayer fully works, the v4.0 release notes, screenshots and videos; Docs/Performance.md records vertex and draw-call counts for one Las Venturas view. This collection did not build or run the project.
  • LICENSE is MIT with a 2015 copyright line for James King; the bundled NVorbis and Newtonsoft.Json DLLs and the submodules are separate projects under their own terms, and Rockstar’s game files keep their own rights. The reviewed sources establish no REA or AI use.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Targets
Game

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · in0finite/SanAndreasUnity · Revision f685c43
  2. LICENSE GitHub · in0finite/SanAndreasUnity · Revision f685c43
  3. .gitmodules GitHub · in0finite/SanAndreasUnity · Revision f685c43
  4. ProjectSettings/ProjectVersion.txt GitHub · in0finite/SanAndreasUnity · Revision f685c43
  5. Assets/Resources/config.json GitHub · in0finite/SanAndreasUnity · Revision f685c43
  6. Assets/Scripts/Importing GitHub · in0finite/SanAndreasUnity · Revision f685c43
  7. Docs/TODO.md GitHub · in0finite/SanAndreasUnity · Revision f685c43
  8. Docs/Performance.md GitHub · in0finite/SanAndreasUnity · Revision f685c43
  9. README.md GitHub · GTA-ASM/NavMeshes · Revision 5d677c9
  10. https://github.com/in0finite/SanAndreasUnity/releases/tag/v4.0
  11. https://github.com/in0finite/SanAndreasUnity/wiki/Running-on-Android
  12. https://github.com/in0finite/SanAndreasUnity/wiki/Generating-navigation-mesh

More in Games

All 231 entries in GamesGames case studies (189)