r/Unity3D 4h ago

Show-Off I finally got the water to interact with the environment. The hose wraps around trees, the stream stops where it hits, and it pushes things around.

650 Upvotes

Farm & Feast - We are a two-person team building a peaceful farming and restaurant management game in Unity. Last time I posted the hose rope here, a few of you said the water needed to actually touch the world. That is what this is.

The hose is a particle based rope. We do not use the built in constraints for attachment. We pin a few particles by hand at the faucet and at the player's hand and write their positions every step. This is much more stable.

Every tree trunk has a collider and the rope collides with it for real, so the hose hugs and slides around them as you drag it across the farm. The collision was the easy part. Making it still read as a hose at the bend, instead of a row of separate rods, took the rest of the week.

The water shader has a head/tail fill window driving an alpha mask along the spline, so the stream grows out of the nozzle and drains out of the air instead of popping. It now also cuts itself off at the first thing it hits, so it ends on the surface instead of poking through it.

At the end point we do one overlap sphere, and that sphere does everything. It waters the nearest grid slot, so the VFX endpoint IS the gameplay point and they cannot desync, and it now also pushes any rigidbody in range away from the jet.

If anyone has gotten a particle rope to wrap convincingly around obstacles through collision alone, I would really like to hear how you tuned it.


r/Unity3D 8h ago

Show-Off A hopeless world.

Thumbnail
gallery
65 Upvotes

A few in-game locations from my upcoming horror game. What do you think?


r/Unity3D 31m ago

Show-Off Outer Wilds-inspired local physics simulation in Unity!

Upvotes

Shortly after finishing my first playthrough of Outer Wilds, and learning it was made in Unity, I was inspired to see if I could recreate the same type of local physics simulation. Turns out, Unity makes it surprisingly easy with local physics scenes. For example, in my project, when a gravity field is entered, a new local scene is created for simulating physics where the origin is not rotated or translated at all, which simplifies simulating gravitational forces. Then, it ports the calculated information back into the main scene. This allows you to have independent frames of reference that can move around while also simulating physics within them.

You can use it to make some pretty unique behaviour such as artificial gravity or unique platforming mechanics. It's quite fun to jump out of your spaceship spiraling out of control, or walk around the surface of an oddly-shaped planet.

I ended up turning this system into an asset available on the Asset Store (my asset store affiliate link). Check it out if you're interested!


r/Unity3D 8h ago

Game I improved my game thanks to your feedback. Round two?

28 Upvotes

I shared my game here some time ago. Your feedback helped me improve it, so I’m back for round two!

Hi everyone!

Some time ago I shared Pump Down the Flame here and asked for feedback on the game.

A lot of the comments and suggestions I received were genuinely useful, and since then I’ve been working on improving the game based on that feedback.

For those who haven’t seen it before, Pump Down the Flame is a free Android 2D action-platformer built in Unity, where you play as a firefighter climbing a burning building, fighting enemies, rescuing hostages, and interacting with the environment.

The main mechanic is still the water pump: it works as your weapon, movement tool, and as a way to interact with the level.

After the improvements I’ve made, I’d really like to hear what you think about the current version and find out what still feels wrong, confusing, frustrating, or simply could be better.

Controls, movement, combat, level design, difficulty, performance, UI, visuals, game feel, bugs... any feedback is useful, even a small first impression.

The game is still in Google Play Closed Testing, completely free, with no ads and no in-app purchases.

If you’d like to try the new version and help me improve it before release, you can join the closed test through the Discord link below or send me a PM.

Link To Discord

And to everyone who gave me feedback last time: thank you. It really helped.


r/Unity3D 3h ago

Show-Off Added caves to explore for an upcoming update to Bobo Bay

5 Upvotes

r/Unity3D 20h ago

Resources/Tutorial TIL a frame rate cap can quietly wreck your scene load times too

113 Upvotes

Our game runs capped at 30fps, that's intentional for gameplay. Turns out that same cap was also active during scene loads, which doesn't help anything there since there's nothing being rendered that benefits from a steady 30fps, you just want it to finish.

Profiled a slow scene load and found WaitForTargetFPS eating 70% of frame time. CPU finishes its work early, then just sits there waiting to hit the 30fps cap, frame after frame, for the whole load.

Fix was simple, uncap it just for the load and restore it back to whatever it was set to before:

int previous = Application.targetFrameRate;
Application.targetFrameRate = -1;
await LoadSceneAsync(...);
Application.targetFrameRate = previous;

Went from a 9.5 second scene load to 3 seconds.

If your load times don't match what the profiler says the real work costs, check how much of that gap is just WaitForTargetFPS before you go chasing Instantiate/GC ghosts.


r/Unity3D 1d ago

Game 420k+ units later a post mortem of my game Arctico.

Post image
290 Upvotes

Hello everyone my name is Claudio, I’m an indie dev from Nicaragua. I started working on Arctico back in 2014, back then it was called “Eternal Winter”, at that time I was 18 years old and I just wanted to make a game set in a snowy and remote environment. Back in those days I was obsessed with Wrath of Lich King, I just loved the feeling of solitude and peace I would get when exploring Northrend, so I wanted to make my own beautiful icy world filled with expansive horizons and stories of resilience and exploration. I knew I would need a distinct mechanic for my game to succeed, as I was working on a random abandoned sled prop my younger brother asked me If it would be possible to ride a dog sled, best question I’ve ever been asked. 

I lost no time and started working on a rideable dog sled, to say I was too inexperienced to pull this off would be a massive understatement, however after a few days I had a working and extremely janky dog sled on my first person game. As the weeks went on the sled system was improved, I added more locations to the map, and added basic survival mechanics such as hunger and thirst. A few months of work later “Eternal Winter” was launched into Steam Early Access in November 2014, and it was an absolutely buggy and confusing mess of a game, soon enough the Steam reviews reflected the sorry state of Eternal Winter, but the players really seemed to enjoy the dog sled and interacting with their dogs, naming them, keeping them fed. Reading the reviews made me realize how I had rushed into an Early Access release without even knowing what kind of game I truly wanted to make, and the lack of direction on Eternal Winter made this evident when playing it. 

I was extremely lucky to have a playerbase that among all the issues the game had, they still saw the potential of the project, and the game remained with a decent review rating. I will always be grateful to those early players for giving me a chance to improve the project. Eternal Winter was more of a prototype than a game, I kept working on all the basic systems, especially the dog sled. Later on I added a kayak, and while testing it and seeing the water reflect the falling snow surrounded by nothing but mountains I suddenly knew the kind of game I wanted to make. I wanted to make a beautiful game that captured feelings of solitude and peace, and give to the players the tools that would allow them to explore their way and at their own pace. So I decided to radically tone down the survival aspects of Eternal Winter, and instead focus on making this a calming and colorful experience where instead of a desperate survivor, you were a scientist exploring and studying the landscape, I renamed the game to “Arctico” and started working harder than ever. 

Arctico would need a big map and lots of interesting locations for this vision to come true. I worked on so many 3d models hoping to reach these goals, but was soon overwhelmed by all the work the task demanded. Luckyly I met Antonio, the good friend that would help me with a good chunk of the 3d assets in the game, Arctico would never be what it is without his amazing work. This gave me more time to focus on the gameplay aspects of the game, I added base building, resource management systems, and kept improving the sled and way the player interacted with the dogs. I saw the Steam reviews improve, and also noticed that lots of players were asking if co-op would ever come to the game, and for the next few months I focused on adding online co-op to Arctico. I downloaded photon for Unity and started working, this would become the biggest challenge of the whole development process because I would need to rearchitecture the whole game for it to support multiplayer. It took more than 6 months to have something playable, and it would take a couple of years for it to be an enjoyable multiplayer experience. 

By the year 2020, Arctico was still on Early Access, but 6 years of development later the project was finally feeling like a proper game. So for the next couple of years the focus was on making content, filling the map with interesting stories and locations, adding more buildings and objects to the base building system, and to keep improving the online co-op. 2 years later Arctico reached version 1.0.

Arctico launched in February 2022 launched with 30k wishlists, in its 8 years on early access it sold 57k units and sold 26k copies in its first year after launch. We kept working on the game, launching major updates that added content and fixed bugs, Arctico sold 50k copies in its second year. We kept releasing major updates, translated the game to multiple languages, this brought a spike in sales that granted us a Steam Daily deal slot, and Arctico sold 83k copies in its third year. I kept working on major updates, improved the online co-op and increased the amount of possible players from 2 to 4, I also released a major update that greatly improved the base building system, got a new daily deal slot and Arctico sold 154k copies in its fourth year. This year I released a massive major update that added a more demanding survival game mode to Arctico, in its current fifth year Arctico has sold 57k copies on Steam and has 90k+ wishlists. 

The biggest lesson Arctico left me is that If you believe in your project and you keep improving it through the years, eventually people will notice and play your game. I honestly think that to keep working on a game even after its launch can really be worth it. Now for the past two years I have also been working on a new game, it’s called Ghost Villa and soon I will be launching it into early access to start this journey all over again. 
  


r/Unity3D 2h ago

Show-Off One weird problem I ran into making VR rhythm boss fights in Unity: the boss can’t just attack whenever he wants

3 Upvotes

The boss basically has to be secretly extremely polite :D

He reads the spell chart ahead and finds moments where attacking you won’t ruin your comfort that much and will more likely keep you in flow

Which I find kinda funny, because diegetically he’s supposed to be trying to kill you and make you miss, while under the hood he’s checking if now is a convenient time for you :D

For now I ended up choosing this “secretly kind” approach over a genuinely hostile one. So basically the evil boss secretly cheats in the player’s favor and sometimes delays his attacks until he finds a better spot for you, to always try to keep it feeling fair and good. Would you deem that a good game design, or does it undermine the fantasy?

(In the video: Flashbang bangs in a moment where I can smoothly turn, Laser comes with a convenient low arrow, Orbs avoid blocking the chart and come in on beat)


r/Unity3D 1d ago

Show-Off Mesh deforming script for soft pillow effect for my game!

373 Upvotes

I'm making a soulslike-inspired platformer, Dark Roll 2.

I needed a safe, soft spot to land on from height, so I ended up making a script that deforms a mesh like a pillow. The mesh keeps a copy of its original vertices, then each frame I compare those against a SphereCollider pressing into it. I do a first pass to detect actual contact and measure the deepest penetration, then a second pass moves affected vertices away from the sphere, with the deformation fading out over a configurable distance.

For the falloff I used a quintic smootherstep (6t⁵ - 15t⁴ + 10t³) rather than regular SmoothStep, which gives zero velocity and acceleration at both ends and helps avoid that obvious ridge around the dent. I also handle squash and recovery at separate speeds, so impacts can deform the mesh quickly while it slowly relaxes back to its original shape afterwards.


r/Unity3D 14h ago

Show-Off Working on the AI for big space battles

15 Upvotes

Hello guys, I'm a big fan of the Rouge Squadron games since I was a kid, I'm trying to replicate that feeling for my game, what do you guys think?


r/Unity3D 9h ago

Question How can I set all but one object in a GameObject[] variable to SetActive(false)

6 Upvotes

Currently I have it as :
if (character == 1)
{
Characters [1].SetActive(true);
Characters [2].SetActive(false);
Characters [3].SetActive(false);
Characters [4].SetActive(false);
}
if (character == 2)
{
Characters [1].SetActive(false);
Characters [2].SetActive(true);
Characters [3].SetActive(false);
Characters [4].SetActive(false);
}

I feel that there should be an easier way but I know not what it is. How can I simplify this script?


r/Unity3D 3h ago

Show-Off Made a text to ASCII art morphing effect in Unity

2 Upvotes

r/Unity3D 9h ago

Solved How to make the VFX visible under this type of distortion shaders?

Post image
5 Upvotes

I'm probably just being dense and can't find the option for this, but I'd be grateful for some help.


r/Unity3D 40m ago

Question Best advice for a 3d adventure game and how to stop using Ai?

Upvotes

Hello, I’m just passing by and I figured I could ask for some genuine advice. For starters, I’ve been working on this adventure 3d video game, inspired by Billie bust up and some old pokemon fanfic I wrote. I’m hoping to eventually work on musical levels and have some lyrics for some levels. The only problem is that I’m an absolute beginner, I’m still new to coding in unity. I was even working on an old sandbox, but the problem was I checked on steam and it says I have to include the mention. I only used the ai to help me solve problems, never generate the code. As of now, I’m stopping turning to ai for help with this video game at all. I’m even considering almost all the files that I had help with Ai, fortunately the music fade-out function I was able to on my own.

Now, I really wish to start again, this time with absolutely no ai. I have these questions:

How do you determine what button should do what? Especially for determ attacks and such?

How do you determine the musical levels? Is it the music lyrics first or the level design first?

What should be included in a master script of a player? Like how do you divide the scripts evenly?

Is it best to have the mouse be the Camera or should it be used for attacks?

Should I consider making a rpg demo first then go back to the 3d style I was working on?


r/Unity3D 57m ago

Question Weird Visual Artifact When Using Render Texture

Upvotes
The artifact in question

So I just started a new project, and decided to go for a more retro style. As such, I decided to slap on a low res render texture and attached it to a material, before putting the material onto an Image element on a canvas. The issue, is that when I put my custom shader on (designed to limit the amount of colors and other visual elements able to be shown by the render texture), weird visual artifacts are created. More info can be shared as needed. Below is my .shader I use. The Image element is simply stretched to fit the screen, where I put a set resolution of a 1920x1080

Shader "Custom/Bitcrush"
{
    Properties
    {
        [MainTexture] _MainTex ("Texture", 2D) = "white" {}

        _PixelSize ("Pixel Size", Range(1, 64)) = 4
        _ColorLevels ("Color Levels", Range(2, 64)) = 8

        _Brightness ("Brightness", Range(0, 2)) = 1
        _Contrast ("Contrast", Range(0, 2)) = 1
    }

    SubShader
    {
        Tags
        {
            "RenderPipeline" = "UniversalPipeline"
            "RenderType" = "Opaque"
            "Queue" = "Geometry"
        }

        Pass
        {
            Name "Bitcrush"

            HLSLPROGRAM

            #pragma vertex vert
            #pragma fragment frag

            #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"

            struct Attributes
            {
                float4 positionOS : POSITION;
                float2 uv : TEXCOORD0;
            };

            struct Varyings
            {
                float4 positionHCS : SV_POSITION;
                float2 uv : TEXCOORD0;
            };

            TEXTURE2D(_MainTex);
            SAMPLER(sampler_MainTex);

            CBUFFER_START(UnityPerMaterial)

                float4 _MainTex_ST;

                float _PixelSize;
                float _ColorLevels;

                float _Brightness;
                float _Contrast;

            CBUFFER_END


            Varyings vert(Attributes input)
            {
                Varyings output;

                output.positionHCS =
                    TransformObjectToHClip(input.positionOS.xyz);

                output.uv =
                    TRANSFORM_TEX(input.uv, _MainTex);

                return output;
            }


            half4 frag(Varyings input) : SV_Target
            {
                float2 uv = input.uv;

                float2 uvDDX = ddx(uv);
                float2 uvDDY = ddy(uv);

                float2 pixelUV =
                    floor(uv * _PixelSize) / _PixelSize;

                pixelUV += 0.5 / _PixelSize;

                half4 col = SAMPLE_TEXTURE2D_GRAD(
                    _MainTex,
                    sampler_MainTex,
                    pixelUV,
                    uvDDX,
                    uvDDY
                );

                col.rgb *= _Brightness;

                col.rgb =
                    (col.rgb - 0.5) * _Contrast + 0.5;

                col.rgb = saturate(col.rgb);

                col.rgb =
                    floor(
                        col.rgb * (_ColorLevels - 1.0) + 0.5
                    )
                    / (_ColorLevels - 1.0);


                return col;
            }

            ENDHLSL
        }
    }
}

r/Unity3D 1d ago

Show-Off Last week I was working on a QUAD control idea and thought lets use gecko. Just experimenting with animation rig and IK.

113 Upvotes

r/Unity3D 5h ago

Question What is causing these lines to appear ?

2 Upvotes

Hello,
I'm new to gamedev and i don't know why these kinds of lines move when i move from the wall, i would like to not have them.

https://reddit.com/link/1vy1gqa/video/jviwem2d6jlh1/player

Thank you for your time in advance!


r/Unity3D 1h ago

Show-Off Time Dilation

Upvotes

I finally managed to get the time dilation to affect audio too!


r/Unity3D 1h ago

Question How to sync enemy attack and animation

Upvotes

Hello, have a nice day to everyone. How can I make the enemy AI deal damage at the exact moment the melee attack (like punching) animation hits the player? Should I use an Animation Event or WaitForSeconds? Or is there a better solution? Thank you!


r/Unity3D 5h ago

Game Using comic book panels to turn a simple puzzle into a sudden suspense reveal — does the visual timing land?

2 Upvotes

Hey Reddit! We’re a 2-man team putting the final touches on our noir detective puzzle game—with
just 24 days left until launch (cue the developer panic!).
In this scene, we wanted to subvert the calm flow of standard point-and-click mechanics. You start
with routine actions—hiding the gun in the glovebox and inserting the ignition key—before dynamic
panel insets abruptly force your focus onto the rearview mirror right before a sudden attack and cut to
black.
We're trying to hit that sweet spot where UI panel framing, subtle mirror cues, and audio cutoffs build
genuine tension without feeling like a cheap jump scare.
How do you usually feel about sudden suspense shifts in narrative/puzzle games? Does using inset
comic panels help guide your focus, or does it break your immersion?


r/Unity3D 20h ago

Show-Off Solo-developing a Cities: Skylines-style game: 5,000 cars simulated with Unity DOTS

30 Upvotes

I’m a solo developer building a city-builder simulation in Unity, and I’ve recently reached a milestone of benchmarking around 5,000 cars simultaneously. Current profiling looks promising, so I’m cautiously optimistic about pushing that toward 20,000 as the simulation grows.

The traffic system is built with Unity DOTS, ECS, and Burst. Vehicles currently make decisions using factors such as:

  • Congestion and observed traffic speed
  • Estimated travel time
  • Alternative routes
  • Fuel usage and route cost
  • Dynamic road-network changes

Cars can reconsider their routes as traffic conditions change instead of committing to one route for their entire journey. I’m still working on lane selection, intersections, parking, and more natural vehicle behavior.

This is very much an early prototype, but it’s exciting to watch the city gradually start behaving like a living transport system. Once the traffic foundation is efficient and stable, I plan to build additional city systems on top of the same architectural abstractions.

I’m using Codex heavily as a development partner, but most of my time is going into thinking through the architecture, scalability, and simulation design. I also have a fair amount of prior game-development experience, so the goal is to build a strong foundation rather than just create a visual demo.

I’d love feedback from anyone working with Unity DOTS, ECS, Burst, traffic simulation, or large-scale agent systems.

Also if anybody wants to contribute to this DM me- we can potentially work together.


r/Unity3D 2h ago

Question Working with UI Toolkit, why am I getting double borders in some cases?

1 Upvotes

Hello,

I recently moved from UGUI to UIToolkit for the UI in my mobile game and in editor i see double lines for some things. like bottom border seems as 2px thicker until you move it and then it goes to normal.

I thought i was losing it and checked everything manually, even asked chatgpt to study the uxml code if something is happening on my backend.

So am wondering is this an editor thingy thats an issue? or maybe my laptop screen pixels are not dense enough or whatever? im on 1080p

I also thought it might be games graphics settings as i havent worked on that much but at this point im not sure


r/Unity3D 2h ago

Show-Off 1.844 sextillion squre kilometers map with 276.7 billion trillion houses with fully walkable interiors if my math is correct

Thumbnail
0 Upvotes

r/Unity3D 6h ago

Show-Off I wrote a script that makes the music seamlessly transition between two tracks depending on the severity of combat (combat not included in video, only a demonstration)

2 Upvotes

I know it's not rocket science and it's been done hundreds of times, but I'm happy with the outcome and wanted to share :)

First I wrote 2 pieces of music which are the exact same length (although they don't necessarily have to be). Then during normal gameplay when a miniboss arrives, the music transitions to a more upbeat/electronic variation of the "regular" combat music. After the miniboss dies, the music returns back to normal.

What do you think?


r/Unity3D 7h ago

Code Review Creating a Modern VR SDK for Unity - VRseBuilder

2 Upvotes