Multi-Platform
FlatRedBall supports developing games on multiple platforms. As of the time of this writing the following platforms are supported:
Desktop
Windows
Mac
Linux
Android
iOS
Consoles (Switch, Xbox) through the use of FNA and Native AOT compilation
Web
Selecting Platforms
Your project's platform is selected when first creating a new project. A newly-created project selects a primary platform, which defines the primary project.
The primary project should be a desktop-based project (either MonoGame .NET Desktop GL or FNA at the time of this writing) even if you intend to target other platforms such as Android or consoles. Selecting a Desktop project as the primary project provides a number of benefits:
Superior debugging
C# Edit-and-continue
FlatRedBall Editor Live Edit support
Faster compilation and deployment
Ability to add new platforms at any time
Adding Additional Platforms Using Synced Projects
FlatRedBall provides the concept of synced projects - these are projects which are created by the FlatRedBall Editor which are kept synced with the primary project. In other words, whenever a new Entity, Screen, or file is added through the FlatRedBall Editor, the synced project is updated to include the same code and content files. The FRB Editor also updates the files as necessary for each platform. For example, on PC a file may be set to copy to the output folder, while on Android it is set to an Android Asset.
Files which are manually added to a project (either synced or primary) are considered platform-specific and are not automatically synced. Of course, you are free to link these files manually through Visual Studio.
Last updated