2D Alpha Build Leaked!

Hello 2D forum,

We have a special alpha build of the Unity choke-full of 2D features available from this location.
https://bitbucket.org/Unity-Technologies/2ddemos

This build is special because it contains in-development early alpha features that you can actually play with. Our hopes is that you would try it out and provide some feedbacks to us using the repo’s issues section: https://bitbucket.org/Unity-Technologies/2ddemos/issues

We decided that since those features are early alpha, we kindly ask issues about them to be posted at the repo instead of here. This will help keep this forum helpful and targeted for users of existing production build.

Thank you!
Team 2D.

10 Likes

New Features

  • 2D Primitives
  • 9-Slice
  • Android ETC1 Compression
  • Masking
  • Smart Sprite
  • Tile Map Editor

Improvements

  • Sprite Packer

2D Primitives

  • Create 2D primitives as Game Objects
  • Circle
  • Diamond
  • Hexagon
  • Square
  • Triangle

9-Slice

  • Intelligently scale sprites based on the modified axes
  • Tile sprites as a whole or partially

Android ETC1 Compression

  • Split color and alpha into separate textures during sprite packing for Android builds
  • Improved rendering performance
  • Smaller game build size

Masking

  • Ability to mark a sprite renderer as a mask or maskable.
  • Masking is applied according to sorting layer instead of game object hierarchy.

Smart Sprite

  • Create a shape and the shape will be tiled with the right sprite textures
  • Assign sprites to edge angles and all edges will be smartly tiled with the required sprite

Tile Map Editor

  • Layout tiles on a grid in the XY axis
  • Palette window for painting sprites onto tile map
  • Select multiple sprites
  • Rotate sprites
  • Custom brushes by extending from GridBrush for better functionality
  • Road painting brush

Sprite Packer

  • Improved sprite packing tag
12 Likes

I can’t believe no-one has replied yet. This is very cool and just as I was going to re-factor my own tile map! I can’t wait until others have a play of these features, maybe I shouldn’t have gotten pro refunded. These are all features that will hopefully bring the 2D capabilities almost up to that of Game Maker.

I am going to try it as soon as this weekend :slight_smile:

Hi All,

Here’s the blog post about this. Look forward to you guys trying this out.

Regards,
Paul

This is really cool, thanks for releasing these new tools. Can’t wait for them to be out of alpha so I can start using them in my projects! Hopefully they work really well for mobile :slight_smile:

Great work, are you going to apply a similar approach to other areas of Unity e.g. Terrain, Prefabs etc???

Wow, this looks awesome. Can’t wait to see the finished release!

This is so awesome, the timing for everything is just :O, really interested in the masking feature and the smart sprite feature, not really sure how the others will fit in an isometric game but I’m sure some 2D developers out there will be so happy right now!

Guess the only thing missing off that list is the 2D bone animation system, but I’m sure that’s in the road map :). Keep up the good work guys can’t wait!

P.S Any chance we can get a sneak peek at future plans for 2D? :smile:. Maybe even a adding extra pivot points onto a sprite for spawning effects at the right position :).

2d Fixed joints, and importing vector graphics…

This is an experiment. If it is successful, and we get lot of good feedback and value, then perhaps other teams will follow.

I would really enjoy seeing the Shuriken particle system given some 2D quality of life love :slight_smile: Maybe its just me, but for some reason I always have trouble working with it in my projects… to the point where I’ve written my own simplistic particle scripts…

1 Like

Will there be any docs for this? I can’t find out how to create tilemap brushes to draw on the tilemap… Anyone did it?

I think I found the assets:
https://bitbucket.org/Unity-Technologies/2ddemos/src/75da530099d632f635e8d06b232b6b6660f31165/tilemap/demo1/?at=tilemap

Didn’t check it yet , tho.

Since I don’t own a pro license, would like to ask to who does and is trying this build a few things or even if a dev from UT can reply.

First how is structured the TileMap, is it a component containing all the info from an atlas sprite? It would be possible to construct a TileMap at runtime populating it from external data (for example) instead of using the editor?

If all of this is possible how the tile map know where each sprite goes, it reference the sliced sprites by name, index or?

Asking this because I would like to prepare my map construction system out of it instead of generating normal meshes and messing with uvs, it would speed up things.

Last thing, how the TileMap deal with vertex count? I mean if it exceed the amount per tile map of vertices, does it divide it internally on it self or gotta create another game object?

1 Like

If you want to get more feedback, I’d recommend not requiring people to leave it on BitBucket. It requires creating an account. Why don’t you just create a separate forum and make it only visible to pro users? It’d be so much simpler.

3 Likes

@Aedous and trudeadm
:slight_smile:

@LiberLogic969
Do let us know what you would like to see from a 2D Shuriken system!

@mikematusiak
We do not have any guides on how to create a customised brush yet, but we will get one up soon. In the meantime, the Tilemap demo contains a few examples of customised brushes which you can experiment with.

The general idea would be to extend from the GridBrush class and override the following two methods:

  • Paint
    This paints an element into the selected tile. Depending on your requirements, you can add logic here which looks at the surrounding tiles and determine which tile would be right to add to the spot.
  • Erase
    This erases an element in the selected tile. Similarly, you can customise it to erase tiles or other game objects based on the selected tile location, or do something totally different.

@
The Tile Map is a component that stores the tile map data. The tile map references sprites based on its instance id. You will be able to create and manipulate the tile map during runtime by using existing sprites or importing sprites through asset bundles.

The Tile Map Renderer component handles and optimises the rendering of the Tile Map, and will internally split the rendering if it goes over the vertex limit.

@Jay-Pavlina
That is a good idea, we will look into having a forum where we can discuss any concerns about the 2D features.

Hmm, Allow the user to lock particles to the x and y axis. 2D emitter shapes like Line and Point.

Personally I would love a replacement for Materials in 2D particle effects. Maybe like a ParticleMaterial2D is added to a 2D particle effect which would let you choose the Sprite, Color, BlendingMode (Additive || Alpha), and SortingLayer in the inspector without having to make a separate material for each type of particle.

Just a few thoughts :slight_smile:

So Tile Map allow to suppress overhead of dynamic batching ?
I have to render 120x80 tiles for my minimap but because of overhead of dynamic batching that takes 30 ms.

Tile map will have dynamic size ( can we resize it in runtime ) ? Or a size limit ?
it will work for isometric map ?

One simple thing - Sprite support! Allow us to use Sprites as our particles!

This is really great news!

Not sure exactly where to leave feedback as the blog & repo say leave it on forum but at the top of this thread … well lets try here:

I build 2d games in Unity as a job, I’ve been bending Unity to do 2d for years. Here are some of my thoughts & questions from a game dev:

for Sprite Editor:

  • If you save a spritesheet in photoshop (some small graphical change) any new sprite boundaries you have drawn will be reset. Prefered functionality is that it just updates the image.

  • dragging the sprite handles on the Mac with Wacom is slow and unresponsive. This applies to Unity product wide. Would be nice if this could be finally fixed! Wacom is a pro tool, I can’t be the only one having this issue.

  • Arrow keys are unassigned in Sprite Editor. These could be put to good use for cycling through sprites for easy naming (naming is probably the largest time sink in this editor window right now).

  • Custom grid view & snap to grid would be welcome in Sprite Editor.

In general concerning 2D:

  • Physics calculations for pixel art games would be very much appreciated. Currently physics is strange when using small sprites. Is there any plan to tackle this?

  • 8px by 8px is 0.08 units in Unity. We are using raycasting instead of physics as a current solution.

  • I’m currently using 2DToolKit’s cameras for everything in my game as it has screen resolution features, sadly it’s not compatible with Unity’s new UI canvas.

  • The standard unity camera has no pixel size, are there any plans for pixel perfect 2d cameras?

  • We use 2DToolKit’s tile mapper, which works well, but all tile maps are created in Tiled and exported using the TMX format. Are there any plans to use TMX?

Tilemapper:

  • I make heavy use of the fill, custom brush (selection of tiles) and random tile from selection tools that are offered in Tiled and 2dToolKit. Would be nice to see these functions.

  • do you see layers being part of the tilemap like in TMX format or just several tilemaps each as their own layer?

  • We use large Collision2d polygons that are automatically drawn from tiles with collision info in 2dToolKit, this function is very useful.

  • whats the current thinking on how to make animated tiles? Can we replace any tile with a prefab? (this also pertains to destructible terrains, ladders etc. If they can be drawn in tiles as prefabs, like with 2dToolKit this would be very useful)

Animation:

  • dragging of multiple sprites onto timeline would be welcomed, or an auto detection by name and number (2dToolKit does this) per Animation on Sprite. Currently need to do this by hand and can be laborious on large anims.
  • Animator: Auto no blend when using sprites or special sprite mode. You’ll be hard pushed to find someone who actually wants blending here, maybe a 2d mode for animator?
  • turn blending off between samples for movement, scale, rotation. Theres often cases where you’d like a hat or weapon to be assigned to the player, the easiest way is to add this to the animation and turn it on when you need it. However, if you animate its position to match the player, you have blending in the samples. Would be far better to have a 2d animation system with frames and frame rate. Samples almost always causes problems for pixelart sprite animation.
  • Swap spritesheet at runtime! This is a classic request. :wink: Something that can be done easily in other games engines for variations on enemies etc. without giving them their own animators per variation.

Thanks for listening! Would love to see Unity expand the 2d tools and… thanks for masking!

4 Likes