Start new FNA projects quickly and easily with handy setup scripts, a versatile boilerplate project, and convenient Visual Studio Code integration.
- Super simple setup scripts that download and install FNA and its native libraries for you!
- Boilerplate project already included -- no need to wrestle with MSBuild configurations or writing yet another Game1 class.
- Visual Studio Code tasks for building and running your game, cleaning/restoring your project, and compiling .fx files!
- In-editor debugging support with the Mono Debugger.
- Supports Windows and macOS!
- Visual Studio Code
- C# Extension
- Mono Debugger Extension (required for macOS debugging -- Windows can use
clr
instead)
- Mono (required for MacOS)
- Git
- 7-Zip (required for Windows to decompress fnalibs)
- Microsoft DirectX SDK (June 2010) (required for building effects -- on Mac, you can use Wine to run this)
- Download and unzip the ZIP archive.
- Copy paste the resulting folder to your desired project directory.
- Run
./getFNA.sh
(macOS) or./win_getFNA.ps1
(Windows PowerShell) to download the latest FNA and fnalibs to the directory. (You can run this script again if you want to update either FNA or the libraries at a later point.) - Rename
project_name
to your project's name. - Open the newly-renamed project folder in Visual Studio Code.
- Do a Find Replace for "project_name" to the new name of your project.
- Run the "Restore Project" build task.
- In
.vscode/preferences.json
, changeomnisharp.autoStart
totrue
. (This will enable autocompletion and Intellisense for your project!)
That's it! Now you're ready to build and run the base project!
- Restore Project: Restores the .csproj. Run this before building for the first time, and run it again whenever you change the .csproj file.
- Build (Debug/Release): Builds the project with the specified configuration but does not run it. This also copies over everything in the Content/ subdirectory and the fnalibs.
- Build and Run (Debug/Release): Builds and runs the project. On MacOS, it runs the output with Mono. On Windows, it runs the output with .NET Framework.
- Clean Project: Cleans the output directories and all their subdirectories.
- Build Effects: Runs
fxc.exe
on all of the.fx
files found in the Content/ subdirectories and outputs corresponding.fxb
files that can be loaded through the Content Manager at runtime.
FNA VSCode Template is released under the Microsoft Public License. Many thanks to Andrew Russell for his FNA Template, from which I learned a lot (and borrowed a little).