MonoGame Feature Wishlist

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){


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.triangles = triangles;

would be nice :slight_smile:

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

I have a mesh maker peon here, but im not sure it will help with what you were doing previously. As it seemed to me you were trying keep the mesh quads separate.

You basically feed this a vector3 array of points like a height map and it generates a mesh that will map to a texture and pretty much everything including normals and tangents for normal mapping i didn’t include bi-normals as i typically calculate them on the shader as its cheap.

Better model importing.

Iam thinking how can i shift texture position on each quad, but with shared vertecies its imposible.
Am I right?

Not sure what you mean by shared vertices. Could you open a new topic for this?