Note: This is a forked version of Simitone with some updates that are not in the current version at the time of writing.
Latest Pre-release | Download Windows | Download Linux
Alternative C# Frontend for The Sims 1, based off of FreeSO. http://freeso.org (REQUIRES a legitimate copy of The Sims: Complete Collection)
Supported Platforms: Windows, Linux. MacOS builds but DOES NOT WORK. PRs are welcome!
NOTE! Currently does not support the entire Fame career track, saving on vacation and a few other important things. Buy mode on community lots is also not functioning. Currently using a rudimentary blur for censoring since I'm having trouble getting the original to work. Custom objects with custom animations may not work properly. While all stock objects run, many of them have bugs that can make certain lot types unplayable.
For current development progress on the original Simitone, see this issue on the original repo.
For requests on this repo, fill one out here.
On modern operating systems, The Sims has a few nagging issues that make it less than playable. Simitone can be seen as a tool to improve the playability of your existing installation of The Sims. Here are some features:
- Playable in 3D - using a combination of models generated from the 2D sprites and created by the community.
- Custom user interface that works at modern resolutions. Working on a more desktop oriented interface.
- Improved graphical performance, support for high resolutions and refresh rates.
- Custom lighting - directional lights with smooth falloffs and shadows using generated 3D meshes.
- Quality of life fixes that were available in later installations of the series such as the eyedropper tool. (note eyedropper currently doesn't work with wallpaper) and rotating camera by clicking mouse wheel.
- Volcanic, a program which allows you to examine, modify and create new game objects. (from FreeSO, Windows-only)
- The Sims: Complete Collection or The Sims: Legacy Collection
- Windows Or Linux (Tested with Ubuntu and Linux Mint) (MacOS is currently not functional! PRs welcome!)
- For Windows .NET 9.0 Runtime and ASP.Net Core runtime 9.0. (Note if this isn't installed, Windows will prompt you to download them with a link.)
- Download the latest release
- Extract the ZIP to your preferred location
- Run
Simitone.exe
Package Structure:
Simitone-Windows/
Simitone.exe <- Run this!
lib/ <- Game files (don't modify)
On first launch, Simitone will automatically scan for The Sims 1 installations:
Automatic Detection Checks:
- Portable install (relative path
../The Sims/) - Windows Registry (
HKEY_LOCAL_MACHINE\SOFTWARE\Maxis\The Sims) - Steam installation (via Steam registry and libraryfolders.vdf)
- Default install (
C:\Program Files (x86)\Maxis\The Sims\)
Installation Selector:
- If one installation is found → automatically configured
- If multiple installations are found → shows a selection dialog with details
- If no installations are found → displays prompt to select installation manually
The selector will show:
- Installation type (Registry, Steam, or Portable)
- Full installation path
- Detection of Steam version (important for save file location)
After selection, Simitone creates a configuration dialog showing:
- Game installation path
- Where The Sims 1 save files are located
- Where Simitone save files will be stored
Configuration and save files are stored in:
%USERPROFILE%\Documents\Simitone\
This includes:
config.ini- Game settings and installation pathUserData/- Your Simitone save files and families
Note: Simitone uses separate save files from The Sims 1. On first launch, it automatically copies your existing TS1 saves to its own directory. This means:
- You can continue playing with your existing neighborhoods, families, and houses
- Changes in Simitone won't affect your original TS1 saves
- Your original saves remain untouched and can still be used in non-Simitone Sims 1
The Sims 1 Save Locations (imported from):
- Steam (Legacy Collection):
%USERPROFILE%\Saved Games\Electronic Arts\The Sims 25\UserData - CD/DVD/GOG:
[Installation Path]\UserData
If you need to bypass auto-detection or reconfigure:
Command-line override:
# Specify custom installation path (bypasses auto-detection)
Simitone.exe -path"C:\Your\Custom\Path\The Sims\"Portable installation:
Place The Sims files in ../The Sims/ relative to Simitone.exe (e.g., if Simitone is in D:\Games\Simitone\, put The Sims in D:\Games\The Sims\)
To reconfigure/change installation:
Edit %USERPROFILE%\Documents\Simitone\config.ini and set:
TS1InstallationConfigured=falseThen restart Simitone to see the installation selector again.
Manual config.ini settings:
TS1HybridPath=C:\Your\Path\To\The Sims\
TS1IsSteamInstall=false
TS1InstallationConfigured=true- Download the latest self-contained release for your operating system
- Extract the archive to your preferred location
- Run
./Simitone
Package Structure:
Simitone-Linux-x64/ (or Simitone-macOS-x64, Simitone-macOS-arm64)
Simitone <- Run this!
simitone.desktop <- Linux only: for desktop integration
lib/ <- Game files (don't modify)
On first launch, Simitone will automatically scan for The Sims 1 installations (see Auto-detection section below for paths checked).
Installation Selector:
- If one installation is found → automatically configured
- If multiple installations are found → shows a GUI selection dialog with details
- If no installations are found → shows GUI prompt to browse and select manually
Alternatively, specify path directly:
./Simitone -path"/fully/qualified/path/to/The Sims/" # (note: no space between -path and the quote - this is intentional)After configuration, the path is saved to config.ini and you won't need to use -path again.
If you need to bypass auto-detection or reconfigure:
Command-line override:
# Specify custom installation path (bypasses auto-detection)
./Simitone -path"/your/custom/path/The Sims/"Portable installation:
Place The Sims files in ../The Sims/ relative to the Simitone executable (e.g., if Simitone is in /home/user/Simitone/, put The Sims in /home/user/The Sims/)
To reconfigure/change installation:
Edit config.ini in your user data directory (see below) and set:
TS1InstallationConfigured=falseThen restart Simitone to see the installation selector again.
Manual config.ini settings:
TS1HybridPath=/your/path/to/The Sims/
TS1IsSteamInstall=false
TS1InstallationConfigured=trueConfiguration and save files are stored in:
- Linux:
~/.local/share/Simitone/(or~/Documents/Simitone/if MyDocuments exists) - macOS:
~/Documents/Simitone/
This includes:
config.ini- Game settings and installation pathUserData/- Your Simitone save files and families
Note: Simitone uses separate save files from The Sims 1. On first launch, it automatically copies your existing TS1 saves to its own directory. This means:
- You can continue playing with your existing neighborhoods, families, and houses
- Changes in Simitone won't affect your original TS1 saves
- Your original saves remain untouched and can still be used in the plain installation for The Sims 1
The Sims 1 Save Locations (imported from):
- Steam (via Proton): Check
~/.steam/steam/steamapps/compatdata/[appid]/pfx/drive_c/users/steamuser/Saved Games/Electronic Arts/The Sims 25/UserData - Wine: Typically in the Wine prefix under
drive_c/users/[username]/My Documents/ - Native Windows files: Check the Windows file structure if accessing via WSL
Simitone reads The Sims 1 game files directly - However, the code has been tested with the Windows installation. You can use:
- Steam Play/Proton:
~/.steam/steam/steamapps/common/The Sims/ - Wine (default prefix):
~/.wine/drive_c/Program Files/Maxis/The Sims/ - Wine (x86 prefix):
~/.wine/drive_c/Program Files (x86)/Maxis/The Sims/ - WSL (accessing Windows):
/mnt/c/Program Files (x86)/Maxis/The Sims/ - Portable install: Place in
../The Sims/relative to Simitone executable
Simitone finds The Sims 1 installation in this priority order:
-
Command line argument (highest priority - optional):
./Simitone -path"/path/to/The Sims/"Use this to override auto-detection or bypass the GUI selector.
-
config.ini setting (saved from previous selection): Located in your user data directory. Once you've selected an installation (via GUI or
-path), this is saved automatically:TS1HybridPath=/fully/qualified/path/to/Sims1/installation TS1InstallationConfigured=true
-
Auto-detection with GUI selector (first-time setup):
-
Linux: Automatically scans these locations in order:
- Portable install (relative path
../The Sims/) - Steam Proton:
~/.steam/steam/steamapps/common/The Sims/ - Wine (default prefix):
~/.wine/drive_c/Program Files/Maxis/The Sims/ - Wine (x86 prefix):
~/.wine/drive_c/Program Files (x86)/Maxis/The Sims/ - Fallback location:
game1/
- Portable install (relative path
-
macOS: Automatically scans these locations in order:
- Portable install (relative path
../The Sims/) - Steam:
~/Library/Application Support/Steam/steamapps/common/The Sims/ - Wine (default prefix):
~/.wine/drive_c/Program Files/Maxis/The Sims/ - Wine (x86 prefix):
~/.wine/drive_c/Program Files (x86)/Maxis/The Sims/ - Fallback location:
game1/
- Portable install (relative path
-
Windows: Automatically scans these locations in order:
- Portable install (relative path
../The Sims/) - Windows Registry (
HKEY_LOCAL_MACHINE\SOFTWARE\Maxis\The Sims) - Steam installation (via Steam registry and libraryfolders.vdf)
- Default install:
C:\Program Files (x86)\Maxis\The Sims\
- Portable install (relative path
-
Note: On first run, auto-detection will find installations and show a GUI selector. The -path argument is optional and only needed to override auto-detection or for headless environments. Once configured, the path is saved to config.ini automatically.
Installation & Path:
-path"<path>" # Specify custom Sims 1 installation path (no space between -path and quote)Graphics & Performance:
-dx / -gl # Force DirectX or OpenGL rendering
-3d # Enable 3D mode in the game (can be toggled on or off with F12)
-jit # Enable JIT compilation for SimAntics (faster gameplay, slower startup)
-hz <rate> # Set refresh rateOther Options:
-ide # Launch Volcanic object editor
-lang <code> # Set language
-nosound # Disable audioWant to compile Simitone yourself? Follow these steps.
Don't want to mess with command prompt and stuff? Just fork this repo and run the build workflow:
- Fork this repository on GitHub
- Go to the Actions tab in your fork (you may be prompted to activate actions)
- Click "Build Simitone" in the left sidebar
- Click "Run workflow" -> Choose Release -> Pick which platforms you want to build with -> Click "Run workflow"
- Wait ~4-5 minutes or so, refresh the job page, and you should see the release artifact.
For a streamlined build experience, use the included PowerShell script:
Note: If the script opens in an editor instead of running, Windows is blocking PowerShell scripts. Use one of these methods:
# Option 1: Bypass policy **just** for this one script
powershell -ExecutionPolicy Bypass -File .\build.ps1
# Option 2: Unblock the script file once (then use .\build.ps1 normally)
Unblock-File .\build.ps1Or in powershell directly
# Basic build (this will use release configuration, not debug configuration.)
.\build.ps1List of options you can use with the script
.\build.ps1 -Configuration Debug # Build in Debug mode
.\build.ps1 -Clean # Clean Simitone artifacts before building (obvs, you won't need this on first run)
.\build.ps1 -CleanAll # Deep clean (includes FreeSO submodule and its submodules!)
.\build.ps1 -Run # Build and run immediately
.\build.ps1 -Clean -Run # Clean, build, and run
.\build.ps1 -Publish # Create distributable package with launcher
# Advanced options
.\build.ps1 -SkipSubmodules # Skip submodule initialization
.\build.ps1 -SkipRestore # Skip dependency restorationThe script will:
- Check if prerequisites are installed (Git, .NET SDK)
- Initialize submodules (if needed)
- Restore dependencies
- Build the project
- Show you where the executable is located
If you'd rather do it by hand to understand each step, or for whatever reason, read the instructions below:
-
Git (version 2.13 or later)
- Download: https://git-scm.com/downloads
- Verify:
git --version
-
.NET 9.0 SDK
- Download: https://dotnet.microsoft.com/en-us/download/dotnet/9.0
- Get the "SDK x64" installer (not just the runtime)
- Verify:
dotnet --info(should show 9.0.x)
-
Windows OS (Windows 10/11 recommended)
-
The Sims: Complete Collection or The Sims: Legacy Collection (to run the compiled game)
git clone https://github.com/alexjyong/Simitone.git
cd Simitone
git submodule update --init --recursiveThe submodule step downloads FreeSO (the core simulation engine). This may take a few minutes.
cd FreeSO\Other\libs\FSOMonoGame\
.\Protobuild.exe --generate
cd ..\..\..\..Note: This step may fail on some systems, but that's okay, the build can still succeed without it.
# Restore Simitone dependencies (required)
dotnet restore Client\Simitone\Simitone.sln
# Restore FreeSO dependencies (recommended)
dotnet restore FreeSO\TSOClient\FreeSO.sln
# Restore Roslyn/JIT dependencies (optional, for -jit support)
cd FreeSO\TSOClient\FSO.SimAntics.JIT.Roslyn\
dotnet restore
cd ..\..\..# Release build (optimized, recommended)
dotnet build Client\Simitone\Simitone.sln -c Release --no-restore
# Or Debug build (includes debugging symbols)
dotnet build Client\Simitone\Simitone.sln -c Debug --no-restoreFind your compiled executable at:
Client\Simitone\Simitone.Windows\bin\Release\net9.0-windows\Simitone.exeOr run directly:
dotnet run --project Client\Simitone\Simitone.Windows\Simitone.Windows.csproj -c ReleaseNote on first run, it may take a few moments to fire up.
To start fresh and remove all build artifacts:
# Clean using the build script
.\build.ps1 -Clean
# Or manually delete build folders
Remove-Item -Recurse -Force Client\Simitone\Simitone.Windows\bin, Client\Simitone\Simitone.Windows\obj
Remove-Item -Recurse -Force Client\Simitone\Simitone.Client\bin, Client\Simitone\Simitone.Client\obj
# For a complete clean (including FreeSO projects)
Get-ChildItem -Path . -Include bin,obj -Recurse -Directory | Remove-Item -Recurse -ForceThis is useful when:
- Switching between Debug and Release builds
- Troubleshooting build issues
- Build artifacts are corrupted
- You want to verify a clean build works
# Install runtime dependencies
sudo apt install libsdl2-2.0-0 libopenal1 # Ubuntu/Debian/WSL
sudo dnf install SDL2 openal-soft # Fedora
sudo pacman -S sdl2 openal # Arch
brew install sdl2 # macOS
# Build
./build-mac-linux.sh
# Optional (build a self-contained release, which doesn't rely on the machine having dependencies installed)
./build-mac-linux.sh --publish
# Run (point to your The Sims installation)
cd Client/Simitone/Simitone.Desktop/bin/Release/net9.0/
./Simitone -path"/fully/qualified/path/to/The Sims/"
# If you made a self-contained release, run it like so:
cd publish/Simitone-Linux-x64/ # or Simitone-macOS-x64, Simitone-macOS-arm64
./Simitone -path"/fully/qualified/path/to/The Sims/""FreeSO folder is empty"
rm -rf FreeSO
git submodule update --init --recursive --force"The type or namespace name 'FSO' could not be found"
The FreeSO submodule wasn't initialized. Check that FreeSO/TSOClient/ has content, then re-run step 1.
"Unable to locate the .NET SDK"
Install the .NET 9.0 SDK (not just runtime), restart your terminal, and verify with dotnet --info.
You should see something like this:
dotnet --info
.NET SDK: #this is the important part!!!!!
Version: 9.0.307
Commit: 3bc3012cf9
Workload version: 9.0.300-manifests.7913fe7a
MSBuild version: 17.14.28+09c1be848
Runtime Environment:
OS Name: Windows
OS Version: 10.0.26100
OS Platform: Windows
RID: win-x64
Base Path: C:\Program Files\dotnet\sdk\9.0.307\
.NET workloads installed:
There are no installed workloads to display.
Configured to use loose manifests when installing new manifests.
Host:
Version: 9.0.11
Architecture: x64
Commit: fa7cdded37
.NET SDKs installed:
9.0.307 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 9.0.10 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 9.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 9.0.10 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 9.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 9.0.10 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 9.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Other architectures found:
None
Environment variables:
Not set
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download
If you do wanna contribute, I do recommend sending your PRs to upstream. They will be brought down here once merged.
If upstream is ever dead (but this is still active) and/or you can't/won't contribute to upstream for whatever reason, make all your PRs against the alex-main branch, as this branch is just for gathering up changes and updates that aren't available in upstream and packaging them for folks to enjoy. Don't make changes from this branch please.
Simitone -> Semitone -> musical term -> C# -> a note
Further questions can be directed at my PR manager, uh, ... burglar cop.
-
Icon for Eyedropper tool: eyedropper icon by Icons8
-
Icon for Free Will option: Creativity And Resourcefulness icon by Icons8

