Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Develop 2D game Inside Canvas Scaler

I'm new in Unity and i've realized that it's difficult do a multi resolution 2d game on unity without paid 3rd plugins available on Asset Store.

I've made some tests and i'm able to do multi resolution support in this way:

1- Put everything from UI (buttons etc) inside a Canvas object in Render Mode Screen Space - Overlay with 16:9 reference resolution and fixed width.

2- Put the rest of the game objects inside a Game Object called GameManager with the Canvas Scaler component in Render Mode Screen Space - Camera with 16:9 reference resolution, fixed width and the Main Camera attached. After that, all game objects like player, platforms etc inside GameManager need to have a RectTransform component, CanvasRenderer component and Image Component for example.

Can i continue developing the game in that way, or this is a wrong way to do the things?

Regards

like image 764
mistic Avatar asked Aug 11 '15 15:08

mistic


1 Answers

Also don't forget GUI, Graphics. It's a common misconception that GUI it's depreciated and slow. No it's not. The GameObject helpers for GUI were bad and are depreciated, but the API for putting in OnGUI works great when all you need is to draw a texture or some text on a screen. They're called legacy, but there are no plans as to remove them, as the whole Unity UI is made out of it anyway.

I have made a few games just on these, using Unity as a very overengineered multiplatform API for draw quad.

There is also GL if you want something more.

Just remember - there will be no built-in physics, particle effects, path finding or anything - just a simple way to draw stuff on the screen. You will have total control over what will be drawn - and this is both a good and bad thing, depending on what you want to do.

like image 142
Krzysztof Bociurko Avatar answered Oct 14 '22 04:10

Krzysztof Bociurko