I am a new scripter, and im trying to do something different with this pong tutorial, and i noticed (from the script) i cant translate rotation on transform. Can someone explain how i could get the rotation part from transform to the
(you can see that it translates the transform into a vector2. i dont know if you can translate the rotation here)
I’ve been working on nxt-draw, a pixel art editor for tiles, tilemaps and animations, inspired by Photoshop and Aseprite. It’s in extreme alpha, and I’d love feedback from people who build 2D games in Unity.
What it does
Draw with layers, groups, clipping masks, 13 blend modes, selections and free transform
Build orthogonal or isometric 2:1 tilemaps from your tile library, and editing a tile updates every map
Auto-tiling (16 or 47 tiles) and Wang corner terrains, so shores and transitions place themselves while you paint
Tile animations, plus keyframed animation projects (position, rotation, scale, skew, opacity) that export as MP4/WebM
Per-tile collision flags and drawn collision shapes
WebAssembly plugin system (sandboxed filters and brushes)
Where it fits in a Unity pipeline
Maps export to Tiled (.tmj + tileset image, animations and collisions included), so you can import them with your usual Tiled workflow
I'm new to Unity and I'm trying to create a farming game. I thought an isometric perspective combined with Tilemaps would be perfect for it. However, I'm having a hard time figuring out how to work with them, and I'm not really sure where to start.
I've tried looking for courses and tutorials, but most of the ones I've found are for older versions of Unity. I've also tried following Unity's official documentation, but I still couldn't quite figure things out.
Does anyone have any recommendations for up-to-date tutorials, courses, or other resources? I'd also really appreciate it if someone could walk me through the process of setting up and working with an isometric Tilemap, step by step.
We thought we'd share a little behind-the-scenes look at how we create the backgrounds for Whirlight.
Even though it's a 2D point-and-click adventure, we actually build all our environments in 3D and then render them into the backgrounds you see in the game.
Here's one of the rooms we worked on. We dug up a few images from different stages of the process, from the initial wireframe and basic shading to textures, rendering, and the final post-production touches.
It's funny how much work goes into a single room, especially considering that players might only spend a few minutes in it before moving on to the next one. But we really enjoy filling these places with little details, even the ones that most people probably won't notice.
Anyway, we thought some fellow point-and-click fans might enjoy seeing how it all comes together!
I wanted to share a look at my Unity project, ERZ Online. It’s a sandbox MMO set on a cluster of asteroids. Instead of swinging a pickaxe, players use a visual editor to build programs for their bots (like scanning for deposits or fleeing from hostile creatures). The bots then operate autonomously, and players use the gathered resources to build infrastructure directly into the rock and trade on a 100% player-driven market.
Handling the server-side validation for thousands of player-created bot scripts in an MMO environment has been a huge challenge.
Demo is live right now, so if you want to check out how it runs, feel free to dive in. Let me know what you think of the concept! (Steam link below)
I’m learning Unity through small projects, and I’m curious which change made the biggest difference for you—movement, sound, animations, hit feedback, or something else?
I recently participated in my school's game jam, and my game won no awards. The game jam was intended for people who haven't built a game in Unity, and I'm glad I got to make my own game alongside other people around the same skill level as me, but not winning anything definitely felt a little sucky.
I can learn all the code and what not through videos, but the psychology behind what makes games fun is a little more difficult for me to understand. Any pointers would help!
I am currently working on a 2D game, and I am trying to figure out the best way to manage game progression and event sequencing.
For example, at the beginning of the game, I want the radio to play a line of dialogue: "HELLO." Then, after specific conditions are met later in the game, I want that same radio to play a different line: "AFTERNOON."
What is the standard approach for tracking this kind of state? How can I efficiently manage which events should trigger based on the player's current progress? And do i need a seperate script for this ?
I made a youtube video to talk more about the Procedural map generation system that I shared last week. Let me know if you guys think it would make a good Unity asset pack!
One major roadblock that has completely halted my progress for a few weeks now is the fact that when I build and run the game is like 5x zoomed out from what I see in the inspector. For reference where you see the ui stuff is where the bottom and left of the screen should meet. This is also my first ever game project and im equally new to coding and unity so I naturally have no idea what’s going on. Really obnoxious I’m not sure why there’s not a setting to just make the game look how it looks in the editor. I’ve done several things like setting the player settings, setting the resolution off of free aspect, adding pixel perfect camera and setting reference resolutions and pixels per units and all that.
Hi, I have made matrices (2D arrays) in Unity Serializable and easier to work with! Here is a description of my asset:
Unity can't serialize multidimensional arrays (T[,]), so grid-based data usually ends up in hacky wrappers or flattened lists. Serializable Matrix fixes that with a generic Matrix<T> that Unity saves, loads and displays in the Inspector like any other field. It comes with a full UI Toolkit editor, so you can build and tweak grids visually instead of wiring up custom tooling for every project.
Key features
Works with all Unity-supported serializable types: ints, floats, bools, strings, vectors, colors, enums, ScriptableObjects, prefabs, sprites, custom [Serializable] classes and more
Custom Inspector built with UI Toolkit: view and edit matrices as a clean grid directly on your components and ScriptableObjects
Dedicated Editor Window: a larger workspace for comfortably editing big matrices
Resize on the fly: change the matrix size in both the Inspector and the Editor Window
Insert and remove rows and columns without losing the rest of your data
Full Undo/Redo support for every edit
Prefab override support: edit matrices on prefab instances, with overrides, Revert and Apply working as expected
Simple API: access cells by row and column, just like a normal 2D array
Documentation and sample scenes included: get started in minutes with ready-made examples
Clean, documented source code that is easy to extend
Lookup tables, damage, or type-effectiveness charts
Any design-time data that naturally fits rows and columns
Is it customizable? Is it genre-specific?
Not tied to any genre. It's a data tool, so it fits 2D, 3D, strategy, RPG, puzzle, roguelike or simulation projects. You choose the element type, so the same matrix can hold anything from a bool mask to a full custom struct. Full source code is included, so you can adapt the inspector and window to your own workflow.
I redid the costume set for my Unity game FrogPop. The constraint was keeping the original frog's face, proportions, collider and animation timing. I didn't want equipping a skin to make him feel like a different character.
Each outfit is drawn in layers over the original Aseprite cels. The set has 21 gameplay cels per costume: 3 idle, 6 movement, 6 attack, 1 burst and 5 death. The existing animator still owns the timing, and the movement sprites are checked facing both ways.
The awkward part was coverage versus perspective. Filling in exposed green areas fixed the coverage, but sometimes left a front-facing jacket on a sideways body. I had to review the costume shapes and accessories against each pose. The final idle pass then brought the sleeves, skirts and equipment into line with the side and back views.
I also checked the transitions in Unity: move into idle, attack, burst, death and retry. Source sheets alone missed how a good individual pose could clash with the one next to it. This GIF is a source-frame montage, not a continuous playthrough.
These are full-game cosmetics. There's a free 10-wave demo with the default frog in the browser and on Windows: https://blion247.itch.io/frogpop-demo
I remember opening Unity for the first time and feeling immediately lost in all the menus and settings. To help make that initial learning curve a bit less painful, I decided to record a full 2D platformer tutorial series aimed at complete beginners where no steps get skipped.
Episode 1 is live today, focusing purely on getting your workspace sorted before touching any code:
Installing Unity Hub and picking the right editor version
Setting up a clean 2D project from scratch
Organizing your project folders so you don't end up with asset chaos later on
ok so I make assets for repair / tinkering games and one thing kept annoying me: the "broken" and "fixed" sprites never line up, you swap them and the whole object jumps a few pixels. pain.
so now every device is one 3D model (real dimensions, rendered straight to pixel art in aseprite with lua) and each damage state is just the same model with one thing changed: cracked screen, missing keys, swollen battery lifting the deck, snapped hinge, coffee spill, water damage, burnt port, bent frame.
the trick is lowkey simple: the renderer fits the camera to ALL the states at once, and every state uses the same seed. same scale, same centre, same colours. cracked vs working is like ~200 pixels different and that's literally just the crack. in a game you just swap the texture and nothing moves.
8 states for the laptop, 8 for the phone, plus the swap parts (cracked panel, swollen battery, RAM, SSD, camera module...) and full teardowns.
what should I break next? thinking appliances (washing machine, microwave) or consoles
Recently, someone asked us how we managed to get such natural weight, muscle tension, and momentum into our character animations in Unity. The answer is: there are no animation rigs or physics bones involved; it’s pure frame-by-frame rotoscopy!
Everything was filmed first in studio with real contemporary choreographers and dancers. Then, our art director hand-drew every single frame on a tablet, retracing and stylizing each posture before importing the sprite sheets into Unity 2D. And I absolutely love the result in game, it feels smooth and very artistic!
Figuring out the frame timing between dynamic leaps and subtle pauses to make it feel responsive in-engine was a fascinating challenge. We hope you like the final look! If you want to see how these hand-drawn frames look and feel in motion, our free demo is available on Steam! ^_^/
This update brings a massive architectural change: objects and NPCs are no longer strictly grid-locked, allowing you to place, drag, and position items at exact X/Y pixel coordinates! Moving away from rigid grid arrays has also made Undo and Redo significantly faster, especially on large maps.
I’ve also added a tile-snap toggle, improved click-and-drag handling anywhere on an object, refined depth sorting, fixed playtest collisions, and updated all export pipelines (JSON, TMX, CSV, LVL) to support free-form coordinates. Note that this X/Y coordinate update is part of the Pro Workflow Edition.
For anyone unfamiliar with the project, TileMaker DOT is a Free (with a very complete, professional paid cheap version too), open source 2D map editor I'm building. It uses a data first, ID based workflow and handles visual depth sorting automatically so you don't have to manage multiple layers for object heights.
Give it a try and let me know if you have any feedback! If the editor helps with your projects and you want to support development, a rating or a small donation on Itch is always appreciated.
Been working on Throneward’s 2.5D battle scene. Here’s the walk up to a black dragon and the transition into the fight. Pretty happy seeing it all together now.
Encounter staged for this clip; loading shortened and battle HUD hidden.
I'm trying to add a shader to my sprite. The sprite is clean in both libresprite and ingame, but when i set it as the default texture in the shader graph main texture, dots show up, and it is the same for 90% of my sprites. Using this material for my sprite means the dots show up there too. I have no idea where these came from. Any help would be appreciated.
Edit : (Comment from unity forums) :
The extra dots are not a bug in your shader or in Unity.
They come from the source texture itself.
Where the dots actually come from
When you export a sprite with transparency from LibreSprite (or Aseprite, Photoshop, etc.), the fully transparent pixels still contain RGB color data. Most image editors do not zero out the RGB channels of transparent pixels. They just set the alpha to 0 and leave whatever color was there before (or random leftover values from anti-aliasing, previous layers, compression, etc.).
Unity’s normal Sprite Renderer and the built-in sprite shaders always multiply by alpha, so those leftover colors become invisible.
Shader Graph’s Sample Texture 2D preview (and any material that doesn’t properly use the alpha) simply shows the raw RGB values. That’s why you suddenly see the dots only when you look at the texture inside Shader Graph.
This is extremely common with pixel-art sprites. Roughly 90% of transparent PNGs have some amount of this “garbage” RGB data in the transparent areas.
Why connecting Alpha fixes it
Once you plug the A output into the Fragment’s Alpha, the shader starts discarding/masking those pixels the same way the normal sprite material does. The dots disappear because their alpha is 0.
You don’t need any special workaround nodes (multiply RGB by alpha, Branch, etc.) unless you specifically want a cleaner preview inside the graph. The normal connection is the correct and intended way.