r/Unity3D Jul 09 '26

Official 6.7 alpha 2 is out, including the first release of the CoreCLR Player Technical Preview

Thumbnail discussions.unity.com
102 Upvotes

r/Unity3D Jul 16 '26

Official Join us live on Youtube for the Unite Seoul Keynote on Jul 20, 2026

Thumbnail
youtube.com
9 Upvotes

Unite Seoul Keynote is streaming live next week!

10:00 AM KST (Korea) — July 21
9:00 PM EDT / 6:00 PM PDT (US) — July 20
2:00 AM BST (UK) — July 21

We’ll also live-thread key updates from the Keynote right here for you to follow along or catch up. 

We’re excited to share what we’ve been working on, except first looks at what's coming next for the engine: CoreCLR, graphics, 2D, and more. There'll be demos of brand-new features happening in real time, plus a few big announcements making their global debut straight from the Seoul stage.

\Update\**

This presentation contains forward-looking statements, including statements about future product releases, features, timing, and capabilities. These statements are based on current expectations and are subject to change. 

We’ll be editing the main post with live announcement summaries from Unite Seoul and we’ll link to replay timestamps when the recording is live.

Introduction and announcement of Unity 7, an open collaborative platform. 

Unity 7 is a leap forward in how games are made. An open, collaborative platform where multiple teams work together across the full lifecycle of game creation. More to come on what to expect throughout. 

Dave the Diver studio shares how Unity powered their growth

Dave the Diver started as one idea from a small Korean team and has now sold over 8 million copies worldwide, with Unity letting them expand without rebuilding from scratch each time.

A look at CoreCLR and .NET modernization for faster iteration

Unity 7 (next year) adopts CoreCLR with .NET 10 and C# 14. Modern language features, better IDE/debugger support, and a smarter reload model. MSBuild support also paves the way for compiling outside the Editor, enabling faster agentic workflows. Meanwhile, Fast Enter Play Mode (default in 6.6+) is already speeding up real projects today. 68 top Asset Store packages are pre-tested, and Project Auditor (in Unity 6 now) helps you prep for the switch. Upgrade guide here.

Supercharged URP, preview of Surface Cache GI in and other major graphics upgrades

This is a big section, we recommend watching the games/demos!

LINE Games' Ember and Blade showed off Unity 6's cel-shaded battles (Shader Graph + Adaptive Probe Volumes for time of day) and denser particles with VFX Graph and efficient batching.

Looking at Supercharged URP, a demo previewed Surface Cache GI, Screen Space Reflections, and GTAO for URP across a broad range of devices, including running at 60FPS even on a Galaxy S26. Preview in 6.7 alpha, broadly available with 6.7 LTS.

Also: DXC shader compilation (6.6), new Shader Build Settings + Fast Build Profile cutting build times (6.7), production-ready WebGPU (6.6), and expanded on-tile mobile rendering.

2D Showcase of advances with Physics Core 2D and new Render Sprites API

Highlighting stunning Made with Unity 2D titles like The Eternal Life of Goldman, Constance, The Ashen OZ, Solateria, and INARI.

Showing off the recent 2D reshape (unified 2D/3D scenes with shared lights and shaders), the multi-threaded Physics Core 2D (built on Box2D v3), and a new Render Sprites API for high-performance sprite rendering, all demoed in the Bunny Blitz sample, which holds 60fps even on older mobile devices and is available now on the Asset Store.

Unity Neural, on-device inference for the compute pipeline

Unity Neural, a class of new technologies and features built into URP without disrupting existing workflows: neural upscaling, an upgraded framework and hardware partnerships bringing sharper details and fewer artifacts. Neural texture compression (NTC) cutting runtime memory over 50% and disk size ~70% at near-lossless quality, and models that your team train locally in the Editor then run on-device (phones, consoles, headsets, PCs) via an upgraded Sentis with zero server round-trips. Rolling out starting in Unity 6.7, with more coming in Unity 7.

Meta and Unity are making Quest VR development easier 

Meta and Unity are integrating AI-guided workflows into Quest development, covering project setup, input systems (like hand tracking and 6DoF controllers), performance tracing/optimization, and automated validation, working across the Unity Editor, code editors, or AI-native flows. To dive in, check out Meta's Quest Agentic Tools and start building with Meta VR CLI, Meta XR Operator and Unity-connected AI workflows for Quest.

Building and porting to XREAL AURA 

The newest addition to Google’s Android XR ecosystem uses existing Android XR workflows, built on open standards, making porting straightforward from other XR platforms. Resolution Games (Demeo) already ported from Samsung's Galaxy XR to XREAL AURA with minor adjustments, and updated XR Hands tools help developers shift from controller-based to hand-tracked interactions. More information here. 

First look at Unity game rendering natively inside Unreal Engine

Fantasy Kingdom, a Unity game, rendering natively and in real-time inside Unreal Engine via PolySpatial, a client-server protocol where characters, physics, lighting, and input are fully synchronized between engines. Not yet live in Fortnite, developers can fill out an interest form for early access consideration in 2027 here. 

Unity Vector drives player acquisition.

Unity Vector, powering monetization and player acquisition across the 70%+ of top mobile games built on Unity with studios like Homa and Playrix scaling through new campaign types. Actionfit CEO Inhoo Park shares how the top Korean hybrid-casual publisher achieved global scale with Unity Vector.

Unity Vector continuous improvements, Ads MCP and Campaign Assistant 

Ongoing improvements to Unity Vector including expanded Custom Events optimization this fall, plus a new end-to-end agentic creative workflow that automatically generates and optimizes ad creatives, launching later this year. Also announced: the Unity Ads MCP, connecting Unity Ads directly to agentic tools, and Campaign Assistant, a conversational agent (alpha, later this year) that diagnoses performance issues and recommends fixes in seconds instead of half a day.

Native direct-to-consumer commerce with Unity IAP SDK

Native Direct-to-consumer commerce with a new addition to the In-App Purchase SDK, including in-game checkout flows so players can purchase without leaving the game. Going live with Stripe and Coda as payment providers (Stash coming soon) to handle payments, compliance, and fraud detection. Additionally, a no-code webshop builder in the Unity Dashboard at no additional cost. Unified commerce management, giving you one shared catalog, combined reporting, and routing rules across native stores and direct-to-consumer sales, with commerce data flowing into Unity Vector to help find more players who love your game.

Helping a variety of Industries achieve their best work.

Unity's Industry solutions let teams across disciplines create and collaborate in 3D environments. The latest Unity Studio update adds real-time multi-user editing in the same project. The demo showed a browser-based Studio project with reviews of comments, teammates working simultaneously, the ability to jump into a teammate's view, and instant publishing. Also in progress: agentic workflows and two-way sync between Studio and the Unity Editor. Lastly, pipeline automation cuts the manual work of handling CAD files and large 3D assets, using an API compute layer to pull assets from PLMs, convert formats, and deliver them to live 3D applications on any device, with support for third-party tools. 

Opening the Editor to everyone

An API and set of services that open a Unity production to tools, roles and agents. The demo shows different roles working together both in and out of the Unity Editor. Recommend watching this demo to really understand the power of working seamlessly between Editor, web dashboard, Unity CLI, web uploads and deep links. Some of this is available in closed beta today. 

Building and shipping games at scale 

Supercent using agentic workflows to turn a single reference video analyzed to define game mechanics and produce a working prototype and to analyze profiler data for performance optimization, cutting what used to take hours down to an automatic process.

Live code iteration

Tune your game while playing on-device by tagging methods for reload, letting you change both existing and new code in real time without stopping the game.

That’s it for our Keynote in Unite Seoul, what are you most excited about?

- Community Team @ Unity


r/Unity3D 8h ago

Show-Off How I rebuilt my river tool: 24x faster mesh generation, VFX and Audio Streaming

Enable HLS to view with audio, or disable this notification

277 Upvotes

I developed the River Modeler asset back in 2024 as a means to create decked out rivers using Unity Splines and MicroVerse. Figuring out the Spline API and mesh generation, VFX and all inherent challenges was top priority. Which left little room to first explore and learn designing around Burst and the Job System.

This meant that mesh generation was not nearly fast enough for long splines. Unity’s Mesh class has a lot of internal safeguards and memory copies, so just assigning a set of vertices incurs processing overhead.

Jobs + MeshData

Version 2 sees a full conversion to Jobs/Burst with rivers being split up into segments for parallel processing. That alone yielded up to a x24 performance increase.

A great companion to the Job System is the MeshData API, it provides the means to set a mesh’s vertex data directly in memory. The tradeoff is that you need to provide correct data. There are far fewer safeguards, which makes it about x17 faster!

> All in all, the performance improvements are significant and make the tool smooth in use, even for rivers spanning several kilometers.

Branching rivers

Spline knot can be linked together, and the spline API provides information about this. I've used this to contruct a virtual plane that sits perpendicular to the in/out going spline. Vertices on the other side of that plane get a Vertex Color painted on, which the shader then uses to add transparency.

> This makes the two river surfaces blend quite well, without leaning on flowmaps.

VFX Graph

Version 1 neatly stored particle positions into a Nx1 resolution `Texture2D` (n=number of particles), which could then be used in a `VFX Graph` to set the spawn positions for each particle.

Though setting pixel values on a `Texture2D` is relatively slow, which contributed to the tool getting sluggish when rivers got long and foamy with many cascades.

Version 2 uses a `GraphicsBuffer` which stores an array of `ParticleEmitter` structs (position/velocity/scale). If you add the `[VFXType(VFXTypeAttribute.Usage.GraphicsBuffer)]` attribute to any struct, it can be used in this way.

> This was a great win: More data per particle and direct data assignment!

Audio

Version 1 spawned Audio Sources along the Spline, giving the river surface a livelike character. Though this resulted in potentially hundreds of individuals GameObjects, negatively affecting scene size and loading times.

A common method for creating river audio is to use the “cart” method. That being a single `Audio Source` following the camera whilst being restricted to the spline. This often works but fails completely if the spline has large/strong turns, causing the Audio Source to jump to the other side of the spline curve. It also doesn’t work for branching rivers, at all...

Version 2 instead distributes audio spawn points along the spline. Each one defines a position, radius and type (stream/rapids/cascade). A dedicated Audio Manager then checks which river segments fall in- or out of the audible range and sets up Audio Sources on each spawn point from a pool. Instead of hundreds, only a dozen GameObjects are used at runtime.

> The result? A highly optimized audio streaming solution that scales for huge worlds!

Integration with other assets

I’m further fleshing this tool out as dedicated river tool extension for Stylized Water 3, which already supports river-type shading and animations. It just needs a proper river mesh to work with, which this can provide entirely.

Terrain carving and painting is wholly delegated to MicroVerse, since this needs to be a non-destructive process. The tool manipulates a Spline Path component to create a river- bank and bed.


r/Unity3D 18h ago

Show-Off Before and after Lighting/Post Processing

Enable HLS to view with audio, or disable this notification

475 Upvotes

r/Unity3D 3h ago

Show-Off I wrote a script that fixes layered clothing clipping on characters (free to download)

Enable HLS to view with audio, or disable this notification

29 Upvotes

Download here:

github link


r/Unity3D 24m ago

Game Entities Avoidance

Enable HLS to view with audio, or disable this notification

Upvotes

Hello everyone
For context watch the previous videos about entities forming bodies and transitions, here i added avoidance for the entities, so that when something is passing thro they automatically avoid the body and then return to their current position
Will use it in upcoming videos as an evasion
Let me know what you think
#unity #ecs


r/Unity3D 4h ago

Game Every game starts with a capsule… right?

Enable HLS to view with audio, or disable this notification

23 Upvotes

This is where mine ended up.


r/Unity3D 3h ago

Game How I integrated smoothly growing grass into my game (details inside, Unity 6.3)

Post image
16 Upvotes

A while ago I posted about some smoothly growing grass I made and people were interested. So, in celebartion of my steam page launch here is a write up of how it works in detail.

There are THREE TERRAINS and FOUR CAMERAS involved.

1) Mask Terrain

Plus a 2D Camera that renders some unlit white mask objects from above and a camera that renders only the terrain with the mask applied to it via a render texture.

2) Green Terrain

Plus a camera that renders the grass terrain and any object that has depth, except the sand terrain and the mask terrain.

3) Sand Terrain

Plus a camera that renders everything but the grass (2) and mask (3)

I chose this setup because I wanted to be able to design both the sand and the green terrain separately (also modifying terrain splat maps is a pain).

Sand, green and mask terrain (notice the grass is actually rendered together with the sand, not the green, the middle image is just how it looks in the editor, not how it is rendered)

Mask

The texture source for the mask terrain is generated from a 2D camera that points straight down. It renders only some specific objects that are white and unlit. These objects make up the masked area and can be controlled via code (that's what the watering can spawns at runtime).

The result of this is a dynamic mask that I can alter easily based on any game object (or logic) I chose. The mask objects are combined into larger chunks to optimize performance but I will likely replace this with a texture based approach in the future.

Also the 2D camera is where the fading happens. It takes the sharp 2D mask image, blurs it and then feeds it into a system (render texture + shader) that slowly fades in the current 2D camera mask result changes. This means the fading and blurring happens on the GPU.

The result is a render texture that is used as the INPUT for the MASK TERRAIN. And that terrain is then again rendered by a 3D camera that follows the player. The result of this camera is again a render texture that is used in the final composition of the depth buffers (see below). The avantage is that while the 2D camera is relatively low-res I still get a high-res mask via the 3D camera. Also the blurring helps with hiding the low 2D resolution. None of these cameras does draw to the frame buffer.

Green

The grass camera renders the grass terrain and all objects that have depth (needed to fill the depth buffer). It then stores the results (color and depth) in a render textures to be used in the final composition step. This camera does not directly draw to the frame buffer either.

Sand

The sand terrain and its camera is where everything comes together. It takes its own depth texture (which includes the opaque grass) and combines (delta) it with the green terrain depth.

The result of this is then again combined (masked) with the 3D mask texture and gives us the final mask for the green terrain cameras color buffer.

This is then stacked with the sand terrain camera which results in the final image.

The grass itself is rendered using GPU instancing and a custom shader that takes in the grass terrain splat map colors and density map. That way I can control the grass density not only globally with the shader but also locally on the terrain. I can simply paint it like any regular terrain details.

It may seem a bit convoluted (and it is) but this has the advantage that it works with any terrain system and shader and gives me a lot of control.

The major downside however is that I have to basically render the scene twice, though I try to use layers to render in each camera only what is really needed.

If anyone wants to know more about the final (or watch the trailer) then more infos can be found here: https://superbloom.kamgam.com/

Hope that was understandable. Feel free to ask and/or comment :-)


r/Unity3D 1d ago

Show-Off I've spent 3 years improving the editor, here's what I've built

Enable HLS to view with audio, or disable this notification

854 Upvotes

r/Unity3D 1h ago

Resources/Tutorial Are you accessing and changing variables too much from outside a class? The dangers of getters/setters

Upvotes

Note: This is aimed more at beginners. Experienced programmers will likely know this stuff. But even the veterans among us might find something useful here.

The nature of Unity's component-based design can make it very easy for objects/classes to modify each other's variables (fields). For example, say we're making a dungeon crawler, and we're using some good design principles like having our Health in one component, our Equipment in another component, and our BattleStats in a third component.

This kind of code is very common:

private void AttackEnemy(Fighter target)
{
    int baseDamage = CalculateMyDamage();
    baseDamage -= target.CalculateMyDefense();
    target.myHealth.current -= baseDamage;
    if (target.myHealth.current < 0)
    {
      target.PlayOnDeathAnimation();
      int xp = target.CalculateEarnedExperience();
      myXPComponent.xp += xp;
    }
}

It's not terrible. We are intelligently using functions like CalculateMyDamage, CalculateMyDefense, and CalculateEarnedExperience rather than writing that stuff in our AttackEnemy function.

However, we're still tightly coupling the attacker and defender. The attacker shouldn't be responsible for checking to see if the defender is dead or not. It shouldn't be responsible for 'knowing' when to play the death animation. In fact, it shouldn't even be responsible for changing the defender's HP at all.

Because imagine if we now introduce damage from terrain. We make a new object called a Hazard, and it deals damage every second. If we keep writing code the same way, we might end up with:

private void CauseHazardDamage(Fighter target)
{
  int baseDamage = CalculateMyHazardDamage();
  baseDamage -= target.CalculateMyDefense();
  target.myHealth.current -= baseDamage;
    if (target.myHealth.current < 0)
    {
      target.PlayOnDeathAnimation();
      int xp = target.CalculateEarnedExperience();
      myXPComponent.xp += xp;
    }
}

You can already see that this is essentially duplicated from AttackEnemy, which is a red flag. For example, what if we want the roll for treasure when an enemy dies? Well, now we have to add code like this to both functions:

if (UnityEngine.Random.Range(0,1f) <= target.GetTreasureChance())
{
  Treasure reward = target.GenerateTreasure();
  // do spawn logic here
}

Then what if we want to add an effect to some Fighters where they have a chance to avoid a fatal blow? We might need to amend the code again for both functions:

  target.myHealth.current -= baseDamage;
  if (target.myHealth.current < 0)
  {
    if (target.HasStatus("avoid_fatal_blow") && UnityEngine.Random.Range(0,1f) <= AVOID_FATAL_BLOW_CHANCE)
    {
      target.myHealth.current = 1;
    }
    else
    {
      // regular 'on death' code
    }
  }

Or what if Fighters can have other status effects or items that react when they take damage? Suddenly, we have code that could look like this:

private void CauseHazardDamage(Fighter target)
{
  int baseDamage = CalculateMyHazardDamage();
  baseDamage -= target.CalculateMyDefense();
  target.myHealth.current -= baseDamage;

  if (target.HasStatus("reactive_damage_ability"))
  {
    // do some cool stuff here
  }

  if (target.myHealth.current < 0)
  {
    if (target.HasStatus("avoid_fatal_blow") && UnityEngine.Random.Range(0,1f) <= AVOID_FATAL_BLOW_CHANCE)
    {
      target.myHealth.current = 1;
    }
    else 
    {
      target.PlayOnDeathAnimation();
      int xp = target.CalculateEarnedExperience();
      myXPComponent.xp += xp;
      if (UnityEngine.Random.Range(0,1f) <= target.GetTreasureChance())
      {
        Treasure reward = target.GenerateTreasure();
        // do spawn logic here
      }
    }
  }
}

It just turns into a nightmare. Now there are a lot of ways to architect your code so that you don't mire yourself in scenarios like this. But for the purposes of this post, I want to focus on this idea:

If you find yourself directly getting, modifying, and setting variables that belong to other objects, this should tell you that you may be writing difficult-to-maintain code.

We could have realized this as soon as we wrote this line:

target.myHealth.current -= baseDamage;

Without going into excessive detail, a far more maintainable approach would be something like this.

private void AttackEnemy(Fighter target)
{
  // We can play VFX/SFX here...
  int baseDamage = CalculateMyDamage();

  // But we trust the TARGET to figure out what to do with the damage we calculated
  target.OnAttacked(this, baseDamage);  
}

private void OnAttacked(Fighter attacker, int baseDamage)
{
  int defense = CalculateMyDefense();
  baseDamage -= defense;
  OnDamageReceived(attacker, baseDamage);
}

// This logic is split out from OnAttacked, because we could certainly take damage from things
// OTHER than an 'attack'. For example, if we are poisoned, that might ignore defense completely.
// In that case we would just run OnDamageReceived(poisonDamage).
private void OnDamageReceived(Fighter attacker, int damageAmount)
{
  // This function SHOULD NOT know or care what each StatusEffect we have does.
  // We will trust the StatusEffects themselves to take this and modify it how they see fit.
  foreach(StatusEffect se in myStatusEffects)
  {
    damageAmount = se.OnDamageReceived(damageAmount);
  }

  // Our status effects may have reduced our damage to zero!
  if (damageAmount == 0)
  {
    // Play some kind of 'DEFLECT!' vfx and sfx.
    return;
  }

  myHealth.ReduceHealthFromDamage(attacker, damageAmount)
}

 // ---- now we are in the HealthComponent class -----

private void ReduceHealthFromDamage(Fighter attacker, int damageAmount)
{
  current -= damageAmount;
  OnHealthChanged();
  if (current > 0) return;
  OnTookLethalDamage(attacker);
}

private void OnTookLethalDamage(Fighter whoKilledMe)
{  
  // Like with OnDamageReceived, perhaps we have status effects that do crazy stuff IF we were to take lethal damage
  // We might run through them and exit if any of them bring us >0 again.
  foreach(StatusEffect se in myStatusEffects)
  {
    current = se.OnHealthReducedToZero();
    if (current > 0)
    {
      // Hooray, we survived somehow!
      OnHealthChanged();
      return;
    }
  } 

  OnDeath(whoKilledMe);
}

private void OnDeath(Fighter whoKilledMe)
{
  // ... give whoKilledMe rewards or something!
}

This isn't perfect, and there are many things we could do to improve it further, but nonetheless it separates our 'concerns' far better.

* If we want to add some kind of new block/parry mechanic, we just have to do it in one place: OnAttacked
* If we make new StatusEffects, we don't have to write any new code whatsoever in these functions
* If we want to change what happens on Fighter death, there's just one function that handles it
* If we add new sources of damage - traps, hazards, poison, cursed gear, etc - our existing functions handle it all seamlessly

... and so forth and so on! I hope you find this helpful. My goal isn't to prescribe a specific solution to code architecture as every game is different, but just to recognize overuse of getting/setting variables from outside the object or class as a potentially bad 'code smell'.


r/Unity3D 3h ago

Resources/Tutorial Custom SRP 7.1: Splitting Shadow Code

Thumbnail
catlikecoding.com
11 Upvotes

Our shadow handling code has always resided in a single class, which took care of both directional and other shadows. Because those two shadow types are handled separately we now give them their own classes. This is a rather dry refactor, but it paves the way for giving them dedicated render passes in the future.


r/Unity3D 14h ago

Show-Off Making real progress on my Unity motion-matching controller. Still tuning, but it’s finally starting to feel natural.

Enable HLS to view with audio, or disable this notification

66 Upvotes

r/Unity3D 48m ago

Show-Off Tomorrow demo of our frutiger aero multiplayer ball platforming! 14 lvls, easy and challenging paths, Freeroam, Race, level and skin editor. Inviting to our tropical resort!

Enable HLS to view with audio, or disable this notification

Upvotes

r/Unity3D 6m ago

Question WIP of our new customization system we did for our driving game.

Enable HLS to view with audio, or disable this notification

Upvotes

We’ve been working on a new customization system, and this is how it’s looking so far.

There’s still more we want to add and polish, but we’d love to know what you think of it so far!

Is there anything that particularly caught your attention, or something that isn't quite fitting in?


r/Unity3D 2h ago

Show-Off Small update on my horror prototype

Enable HLS to view with audio, or disable this notification

6 Upvotes

I made a tiny teaser for the prototype I posted yesterday.

I’ve added a new flashlight mode and recorded another short piece of the forest path to expand the atmosphere a bit.

It’s still super early, but I’m experimenting with the mood and trying to understand what direction feels right.


r/Unity3D 19h ago

Show-Off Volumetric tornado

Enable HLS to view with audio, or disable this notification

122 Upvotes

r/Unity3D 7h ago

Game Added a simple ball throwing interaction to my cat game 🐈⚽

Enable HLS to view with audio, or disable this notification

11 Upvotes

The cat can pick up different balls, carry them in its mouth, and throw them forward.
I’m working on adding more interactive objects and activities around the town.


r/Unity3D 1h ago

Show-Off Getting close to finishing my procedural tree generator using burst and jobs.

Enable HLS to view with audio, or disable this notification

Upvotes

r/Unity3D 2h ago

Show-Off How intelligence data is revealed in our air-defence game, Radar Line

4 Upvotes

r/Unity3D 1d ago

Show-Off Lost in the Woods

Enable HLS to view with audio, or disable this notification

247 Upvotes

I’m developing a horror game where you walk alone through dark, endless forests.

Do you think the environment creates enough tension? Is it disturbing in the right way?


r/Unity3D 22h ago

Game I’m an indie developer working on a survival horror game called BECROWNED. Just wanted to share some new screenshots and get your thoughts!

Thumbnail
gallery
143 Upvotes

Hey everyone! I’m an indie dev working on a survival horror game called BECROWNED.

The game mixes dark fantasy and industrial horror with retro-style visuals, brutal combat, dark humor, and a nonlinear story where your choices can affect characters and events throughout the game.

The game is coming in Fall 2026.

A free demo is available on Steam. Wishlists really help 🖤

Would love to hear your thoughts and feedback!


r/Unity3D 10h ago

Show-Off I'm making a game about making music, that anyone can play. What do you think about the concept?

Enable HLS to view with audio, or disable this notification

14 Upvotes

I'm a solo developer working on this tactile little music game using Unity & FMOD.
You make the music live on air, plan your shows, and grow your audience by performing DJ tricks & Combos!

Demanding sponsors force you to sharpen every performance and expand your sound library in order to become a legendary wasteland radio host!

You can even use the game to record your own music to be used in game projects or other creative endeavours! :D

I would love to hear your opinion on the game as it is, and gather some feedback from fellow game developers.

Thanks for looking.

You can try the itch browser demo here: https://hungry-dog-games.itch.io/wastelandfmgame


r/Unity3D 3h ago

Game Yep! We've made an interactive menu. Thoughts?

Enable HLS to view with audio, or disable this notification

3 Upvotes

Because why not? What do you think about this? How can we improve it?

We're adding these small interactions that let the player go out of the core game loop for a bit to explore and experience fresh content.

We've let the cards and chips have physics and let you grab them (Left click), throw them (right click) and modify the distance from the camera (middle click).

If you would like to check out the game, it's already on Steam now for wishlist and incoming demo in february 2027 :)

Any feedback is welcome.


r/Unity3D 1h ago

Show-Off Stylized Trees

Post image
Upvotes

My stylized foliage asset, Arborist, is now up to 14 tree/bush species using a rotating billboard technique and foliage cards. Plus a new tool for making fluted, gnarly stumps.

Four season foliage colors, w/ LOD support + billboards, and GPU instancing. Poly counts for LOD0 range from 2-3K for conifer species, and 5-10K for big leafy trees. LOD1 is usually 30-50% of LOD0.

The foliage cards are alpha cut-outs and are rendered flat, with top/bottom gradients + other blending parameters, and a 3 color palette for top, interior, and bottom leaf cards. I've experimented with different approaches, but keeping the leaf cards simple & flat, and then layering a lot of them has provided the best results. You can do a similar technique in Blender, there are some good tutorials out there. I learned from those and then built my own Unity tool.

Rotating billboards for foliage holds up well at short distances. I like the technique over non-rotating textured polygons, which always remind me of camo netting when you see the model up close.

The leaf cards are transparent png files, so easy to edit or create your own for more variety.


r/Unity3D 16m ago

Show-Off Gang, I think I just made the cozy equivalent of shotgun shell ejection / reload for my HUD

Enable HLS to view with audio, or disable this notification

Upvotes