Skip to content
digital_developer

MonoGame 3.8.6

Stable

MonoGame Foundation, released Oct 8

MonoGame 3.8.6 adds a native OpenGL backend and Nintendo Switch 2 support. It also includes many Vulkan, DX12 and DesktopGL fixes and new math and texture APIs.

Highlights

  • Native OpenGL backend added
  • Nintendo Switch 2 support added
  • Two-sided stencil state implemented for Vulkan and DX12 backends
  • Texture2D SetData span overloads and new vector and quaternion transform methods
  • Smaller install size from stripped binaries, and dependencies with security vulnerabilities removed

Changelog

New12

  • Native OpenGL backend
  • Nintendo Switch 2 support
  • Two-sided stencil state for Vulkan and DX12 backends
  • Texture2D SetData span overloads
  • Vector3.TransformCoord
  • Vector4 Quaternion transforms
  • Round method overloads for vector structs
  • Srgb8Etc2, Srgb8A1Etc2 and SRgb8A8Etc2 surface formats supported in GetColorData
  • StorageContainer classes re-added
  • Native GPU handles exposed
  • External texture can be wrapped in a RenderTarget2D
  • Builds can run on a Docker Linux image

Improved11

  • Install size reduced by stripping binaries
  • Dependencies with security vulnerabilities removed
  • Xbox updates
  • DX12 fixes part IV
  • Block on processing compressed textures removed, with test cases added
  • Content Builder build outputs cleaned up to English only
  • Song.Native work refactored into the native MGM
  • More tests enabled on macOS and Linux
  • Pipeline warning cleanup
  • XML documentation added for GraphicsAdapter and Album's GetAlbumArt and GetThumbnail overloads
  • SpriteBatch.Draw doc comments now state rotation is in radians

Fixed15

  • Bad NormalizedShort2/4 format in Vulkan
  • Matrix.GetHashCode() implementation
  • Backbuffer resizing on native
  • Missing state changes in video player
  • Vulkan RenderTarget sync
  • WindowsDX RenderTargetCube MSAA depth rendering
  • Render target retention after dispose
  • SpriteFont whitespace advance when kerning is disabled
  • Lock order violation in OggStreamer background thread
  • Relative OutputDirectory in ContentBuilderProcessorContext
  • DesktopGL scissor test now temporarily disabled during clear to match XNA behavior
  • DesktopGL MRT outputs masked for single output shaders
  • Vulkan swapchain size handling that caused a recreation loop
  • FBX models importing sideways
  • DesktopGL fallback when an MSAA request creates a non-MSAA framebuffer

Before you upgrade

  • The build command now uses the '--mg-arch' option.