Skip to content

Commit a1569d8

Browse files
authored
Update 1_setting_up_your_development_environment_vscode.md
Updated the MacOS Issues documents.
1 parent 545c760 commit a1569d8

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

articles/getting_started/1_setting_up_your_development_environment_vscode.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -236,27 +236,31 @@ There is currently a two known issue when building content on an Apple Silicon (
236236

237237
1. **Building Textures**: An exception occurs stating that the **freeimage** lib could not be found.
238238
2. **Building SpriteFonts**: An exception occurs stating that the **freetype** lib could not be found.
239+
3. **Building Models**: An exception occurs starting that the **assimp** lib could not be found.
239240

240241
These issue occur due to needing compiled versions of these libs for the M1/M2 architecture. [There is currently work being done to resolve this](https://github.com/MonoGame/MonoGame/issues/8124), however in the meantime you can use the following workaround that has been provided by community members.
241242

242-
1. Open a terminal and install **freeimage** and **freetype** using **brew**
243+
1. Download and install the x64 version of [.NET 6](https://dotnet.microsoft.com/en-us/download/dotnet/6.0). This will place an x64 version of .NET 6 in a `/usr/local/share/dotnet/x64` directory.
244+
NOTE: It MUST be the x64 version in order for this to work. This will allow the x64 native libraries that the MonoGame Content Pipeline uses to function on the Apple Silicon device.
245+
Currently it also needs to be .NET 6 for the 3.8.1 Release of MonoGame.
243246

244-
```sh
245-
brew install freeimage freetype
247+
3. Open your .csproj and add the following lines to the first `<PropertyGroup>` section.
248+
249+
```xml
250+
<DotnetCommand>/usr/local/share/dotnet/x64/dotnet</DotnetCommand>
246251
```
247252

248-
2. (Optional) Create the `/usr/local/lib/` directory if it does not exist
253+
3. (Alternative) The directory above is not in the path. But we do not want the system to be confused on which .NET is should be using. So rather thatn putting the x64 verison in the path we should instead create a symlink named `dotnet64`.
249254

250255
```sh
251-
mkdir /usr/local/lib/
256+
sudo ln -s /usr/local/share/dotnet/x64/dotnet /usr/local/share/dotnet/dotnet64
252257
```
253258

254-
3. Symlink both **freeimage** and **freetype** to the `/usr/local/lib/` directory
259+
We can then use this value as the value for `DotnetCommand`
255260

256-
```sh
257-
sudo ln -s /opt/homebrew/lib/libfreetype.6.dylib /usr/local/lib/libfreetype.6.dylib
258-
sudo ln -s /opt/homebrew/lib/libfreeimage.3.18.0.dylib /usr/local/lib/libfreeimage.dylib
261+
```xml
262+
<DotnetCommand>dotnet64</DotnetCommand>
259263
```
260264

261265
## Conclusion
262-
By following this guide, you have successfully set up your development environment for game development with MonoGame using Visual Studio Code. You've installed the .NET SDK, added MonoGame project templates, and configured Visual Studio Code with the necessary C# extensions. Now, you're ready to start creating your games! [Continue to the next section to create your first project and begin development](2_creating_a_new_project_netcore.md).
266+
By following this guide, you have successfully set up your development environment for game development with MonoGame using Visual Studio Code. You've installed the .NET SDK, added MonoGame project templates, and configured Visual Studio Code with the necessary C# extensions. Now, you're ready to start creating your games! [Continue to the next section to create your first project and begin development](2_creating_a_new_project_netcore.md).

0 commit comments

Comments
 (0)