Setting Up a MacBook M1 Development Machine
Guide to game development, coding, and creative environment on a new MacBook Pro with M1 architecture
Rosetta
A note regarding Rosetta — Somewhere along the way you’ll be prompted to install Rosetta. Install it at the first opportunity when prompted. For me, this happened upon the launch of Xcode. This is necessary to translate apps built for Intel to run on Apple silicon.

If you need to check whether an app is using Rosetta in the future, you can right-click the app and select “Get Info”, and under the General section you will see “Open using Rosetta”:

Apple Native Toolchains
Xcode
First thing, I always start with native development tools: Xcode, for compilers and command-line tooling. Go to the AppStore, and install Xcode by Apple.
Once complete, launch Xcode to accept the license agreement.
If you have an Apple Developer account, log in to your Apple ID via Xcode, Preferences… Accounts tab:

Finally, install the command line developer tools by opening a terminal and executing:
xcode-select --install
This will prompt to confirm the installation of command-line developer tools:

Now, we should have tools such as git and compilers. Executing which git
will tell us the install location:
/usr/bin/git
Git version should report:
git version 2.30.1 (Apple Git-130)
Version Control
git
SSH keys will be needed for most version control services.
Note: If you hate managing this stuff as much as I do, consider jumping to the next section to use GitKraken to manage SSH keys and integration.
Otherwise, if you want to manually configure git, set up your user profile by executing the following in a terminal:
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
This will create a git config in your home account: ~/.gitconfig
[user]
email = you@example.com
name = Your Name
Login to GitHub, and from your profile avatar in the top right of the screen select Settings and navigate to the SSH and GPG keys group.
Follow the Connecting to GitHub with SSH instructions from GitHub, under the Generating a new SSH key and adding it to the ssh-agent documentation pages.
Gernerate an SSH Key:
ssh-keygen -t ed25519 -C "you@example.com"
Paste the contents of the generated SSH file into the Key field. Use pbcopy
to copy the contents into the clipboard:
pbcopy < ~/.ssh/id_ed25519.pub
Verify it’s working:
ssh -T git@github.com
Optionally, add to SSH agent:
$ eval "$(ssh-agent -s)"
$ ssh-add -K ~/.ssh/id_ed25519
Your keys are stored in the ~/.ssh
directory.
GitKraken, Git GUI Client
While there are many GUI clients for git, I have an affinity for GitKraken. It has the richness of features with free or fair pricing tiers.

Download, install, and launch GitKraken — when prompted, sign in or create a GitKraken account and set up your profile:

From the GitKraken menu, select Preferences and go to the Integrations tab to Connect to GitHub. This will redirect to GitHub for authorization.

Once connected, you can add the SSH key from the previous step; or, just let GitKraken manage ssh keys.

Global git ignore
It’s a good practice to set up a global git ignore file for OS or tool-specific files, instead of continuously adding them to each repository. This also comes in handy when working with third-party repos when submitting pull requests.
From a terminal, cd to your home directory and use vi
to create the file:
% cd ~
% vi .gitignore-global
For my toolchain, I include:
# JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
## Directory-based project format
.idea/## File-based project format
*.ipr
*.iws
*.iml# Visual Studio Code
.vscode/
.vs/# Mac
.DS_Store# Windows
Thumbs.db
Press ESC
and ZZ
to save and exit from vi.
Execute the following git command to register the global gitignore:
git config --global core.excludesfile ~/.gitignore-global
This will update your ~/.gitconfig
to include:
[core]
excludesfile = /Users/jasonsturges/.gitignore-global
Package Managers
Homebrew
While I typically prefer binaries directly from official vendors, Homebrew remains an essential package manager and now supports Apple Silicon.
Install by executing the following in a terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
After the install completes, follow the Next steps in the terminal to add brew to your path:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/[username]/.zprofileeval "$(/opt/homebrew/bin/brew shellenv)"
On your mac, Homebrew will be installed at /opt/homebrew
To compile packages for ARM64, such as receiving node-gyp errors during yarn builds, specify architecture as in:
arch -arm64 brew install pkg-config cairo pango libpng jpeg giflib librsvg
Node.js
Starting with v16, M1 ARM64 is now fully supported. From the Node.js downloads page, select 64-bit / ARM64 installer.
After running the installer, node
and npm
will be installed to:
- Node.js:
/usr/local/bin/node
- npm:
/usr/local/bin/npm
To install yarn
, execute:
sudo npm install --global yarn
Frameworks
.NET Framework
If considering cross platform development with .NET (formerly .NET Core) with tools such as Unity, this installer includes the .NET SDK and .NET Runtime (version 6 at the time of this article).
Download and run the installer package; or, use Homebrew to install:
brew install dotnet
Java
Oracle’s Java SE Development Kit includes support for macOS Arm64 starting with version 17. From the Java SE Downloads page, select macOS Arm64
Editors and IDEs
VS Code
Now, onto some editors. Visual Studio Code is an incredible open source code editor always useful to install, even if not your primary IDE.

From the VS Code Download page, under Mac, select the Apple Silicon install.
There’s no installer; so, drag and drop the Visual Studio Code application to your mac’s Applications folder.
JetBrains
There are numerous JetBrains technologies that I use, offering solutions from editor IDEs to database and beyond.

Their product suite is well thought through, offering powerful refactoring and analysis tools you’d expect from native solution providers.
JetBrains IntelliJ IDEA
My primary IDE is IntelliJ IDEA. From the downloads page, there is a free Community edition, as well as a paid Ultimate edition. Individual licenses are fairly priced, and if you use multiple JetBrains products consider purchasing an All Products Pack subscription.

In the download links, be sure to select .dmg (Apple Silicon):

JetBrains Rider
For .NET and integration with Unity or Unreal Engine game development, I recommend installing Rider. Rider features cross platform gaming, web, cloud, and native app development with powerful ReSharper extension.

More regarding integration with Unity below.
JetBrains DataGrip
Another JetBrains product I use frequently is DataGrip, a database IDE able to introspect and modify dozens of database engines including MySQL, PostgreSQL, SQL Server, Oracle, Azure, MariaDB, Cassandra, MongoDB, MariaDB, SQLite, and many others.
Virtualization
Docker
Now supporting Apple silicon, Docker is an essential strategy for maintaining multiple environments through containerized applications.
Download Docker Desktop by selecting Mac with Apple Chip.
Alternatively, use Homebrew to install:
brew cask install docker
Databases
To support multiple database environments, I typically use Docker to run multiple versions from a container.
For example, to start the latest Postgres database:
docker run --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=postgres -d postgres
Then, connect to the database:
docker exec -i [container] psql -U user -d database
Similar for MySQL:
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=dbpassword -d mysql
With this method, you can run multiple versions by specifying a tag, such as:
-d mysql:8.0
-d mysql:5.6
Cloud
While you may use Microsoft Azure (with Storage Explorer), Google Cloud with its Cloud SDK of gcloud
and gsutil
, I predominately use Amazon AWS for cloud-based services.
AWS CLI
Follow Amazon’s getting started instructions to install the AWS CLI, and then configure after completion
aws configure
Creative Authoring
Blender
My workspace includes Blender, free open source tooling for 3D and animation.

Blender now supports Apple Silicon. From the downloads page, be sure to select the macOS Apple Silicon option

Unity
Offering an incredible suite of gaming services, film, animation, cinematics, automotive, architecture, engineering, virtual and augmented reality, Unity features individual plans, which are free for students and personal licenses.
Install Unity Hub via the Getting Started page.
To integrate Unity with JetBrains Rider, read my story at:
Adobe
Creative Cloud is integral to my workflow for raster and vector graphics, video, audio, fonts, and UI/UX.

Acrobat, After Effects, Animate, Audition, Bridge, Illustrator, InDesign, Media Encoder, Photoshop, Premiere Pro, and XD.
HandBrake
As an alternative to Adobe’s Media Encoder, HandBrake is a fast, lightweight, open-source solution to media encoding. Install the macOS Universal from the downloads page.
DaVinci Resolve
As an alternative to Adobe’s Premiere Pro for video editing, consider DaVince Resolve by Blackmagicdesign. With a free version available, it’s a powerful set of node-based editing tools for video.
Other Alternative
Some other authoring alternatives to consider are Inkscape, Krita, and DarkTable.
Productivity Tools
LICEcap
For animated gif screen captures, I use LICEcap by Cockos, Inc.
Scroll down to the Download section and select LICEcap for macOS which features Apple Silicon native support.
Notion
For advanced note-taking and collaboration of documentation, I use Notion. It’s available via web or as a standalone client.
From the downloads page, you will be prompted to install the Macs with Apple M1 version.

Microsoft Office
Don’t forget the obligatory Microsoft Office suite of products, Office, Work, Excel, Outlook, which are now optimized for Apple silicon. Get them from your Office portal, or Microsoft account.
Instant Messaging
And finally, Slack, Zoom, or Microsoft Teams downloads for remote messaging and team collaboration.
Final Thoughts
My journey into M1 has just begun, waiting for new M1 Pro and Max variations of Apple silicon now available with macOS Monterey. Be sure to comment on any discovery, and expect updates to this article or deeper dives within future stories.