MonoGame Feature Wishlist

According to this article:

Monogame was one of the platforms that was supposed to be supported… I am guessing the OSVR / OpenVR team were planning on adding support to Monogame and not the Monogame team?

The article was written in 2015, so I guess that never happened.

Also, the article mentions OSVR and OpenVR interchangeably… however, they appear to be different standards now viz.


In order to make things run smooth with VR, it would require the 3D part to be faster.
Even UE4 has an option to switch from deferred to a forward rendering technique for VR to gain speed. And… it is not a “small” project made by students, this is Unreal Engine: an optimized engine, with compute shaders etc full DX11

It would be nice to see F# templates, to make it easier to use F# with MonoGame.

MGFX compiler for Linux and Mac.

Not sure if this is already posted here (wayyyyy too many posts to read), but I want to see some sort of package file support in the Pipeline…ex, grouping xnb files and other assets inside a single package file (maybe .xnp? lol) that would be accessible like a folder in game code but is also compressed.

A use for this would be, for example, in my game, where we actually skip .XNB all together for audio and textures. We load audio directly from .ogg files, and textures from standard image files. It would be nice to keep doing that to save disk space (Anders Jensen’s Retro Grooves Vol. 1 in uncompressed form is almost 2GB in size), but it’d also be nice to have these files in a pack file so they can’t be ripped as easily. Or, maybe, let’s say you have a JSON data file in your content pipeline (or a bunch of them) that you don’t want the user editing because them editing it could break your game. Stick 'em in a package file! Then they have to rip 'em out, do the edit, repack them, and ehhh it’s just not worth it if you end up breaking the game.

1 Like

Also, better i18n support would be nice with SpriteFont. I gotta imagine how it handles Arabic and Hebrew languages given that removing just one letter from a word in those languages can do some funky things… like making the word look longer, changing the appearance of other letters, etc. Actually iOS had a bug with banner notifications and Arabic text that caused the OS to crash if it tried to truncate a specific word sequence to make it fit in the banner (because removing characters from words in these languages CAN make the word take up more space)

You can’t do SM4 and more with OpenGL

spriteBatch.Draw with Matrix
or skewX,skewY

Make Fonts scalable like Texture2D

1 Like

You mean with a rectangle? You can already pass a Vector2 for scaling fonts.

Passing textures to shades is kinda what we do with them, it’s kinda like saying 'which we can drive around with cars".

void SomeKindOfDraw (Texture2D MyTexture){
graphics.SetRenderTarget(MyRenderTarget);

MyShaderEffect.Parameters["MyTexture2DVariableName"].SetValue(MyTexture);

MyShaderEffect.Techniques[0].Passes[0].Apply();
screenQuad.RenderFullScreenQuad(MyShaderEffect);// You want to draw to some kind of vertex object like a screen fitted square made of 2 triangles.
}

Please add pipeline support for fx files in linux and mac. (Or even better support compiling GLSL files)

1 Like

Something that pops up on a regular basis: Collision detection between rotated rectangles since Rectangle.Intersects() does not support rotation.
There are solutions for this on the web but it is still always a bit messy I think

1 Like

Isn’t this already covered creating a separate UWP Project?
I thought creating an UWP Project made it work for Xbox, Windows Phone and Windows 10.

The post you quoted is more than 3 years old.
But afaik yes, UWP will work on XBox One

Yes, I can confirm UWP runs on XBox. There’s also a closed implementation of MonoGame specifically for XBox One. Tom, the MonoGame lead, can give you access to it if you’re a registered developer.

Oh thanks, will definitely contact Tom when the time to creating the UWP project comes up.

Is there a difference between running an UWP project on XBox rather than using this specific set of libraries you mention?

The UWP implementation is public, you don’t need access or anything. You can’t use the full Xbox capabilities with a UWP project. You can easily find more information on the XBox website.

mesh = new Mesh();
mesh.vertices		
mesh.triangles = triangles;
mesh.RecalculateNormals();

would be nice :slight_smile:

You can kind of do this if you include the MonoGame.Framework.Content.Pipeline lib and using MeshBuilder.