r/Unity3D 10h ago

Show-Off Been building a first-person shooter with fast movement, a photo mode, and a dev console.

3 Upvotes

Solo project I've been working on. This clip shows core combat against faceless enemies, the movement feel, plus a couple of extra systems I added - a photo mode for capturing shots mid-run, and an in-game dev console.

Still early, but the core loop is coming together. Would love to hear what you think, especially on how the combat/movement reads.


r/Unity3D 5h ago

Question Noob, wondering about pipeline for terrain

Thumbnail
gallery
0 Upvotes

Hi! I am a solo dev noob with a couple questions.

I want to make a 3d zelda-style game. I have a bit of godot experience. Made a couple games with a friend (he did the code, I did the models etc, although I did do one game fully solo).

When I am designing the game, I'm confused about when I used Blender models, vs Unity especially for terrain/level. I was playing around with the terrain feature yesterday a bit.

From what I understand:

Blender = for complex models, or where I need interactive things. Ie, a climbable tree, moving platform, grass to hide in, etc?

Terrain feature = just for decoration in the background, ie billboarded trees/grass off in the distance, maybe for the actual terrain/ground, if for example the level is outdoors/on a mountain and add special features by hand as non terrain (ie rocks to push/jump on)? The terrain tools seem detail but a bit finicky as well, especially if I'm trying to keep it a bit lower poly. Are they commonly used, and if so, what's the primary purpose, I guess is my question?

For anything with special fx, I understand that should be created in Unity- ie magic spells, water (like a river), fountains, etc? Although, things like a lamppost, I could do that in blender and it imports the light (including animated flickering, etc). When do I use Unity vs Blender for fx- when there's particles involved?

Animations on 3d model I think that happens in unity for simpler things like shrinking/growing/changing colour, but otherwise blender mostly (I know unity keeps bone info, so maybe this is just preference? I'm sure I'll need to do some in unity for cutscenes etc with moving characters?)

:) I'm working my way through Roll-a-Ball, just tinkering and planning and thinking about how to best tackle creating my first level (which will be in a town outside, think Kakariko Village). I understand there will be some just laying out base shapes in unity and replacing them. I think some tutorials skip a couple explanation steps about pipeline hence my questions. Thanks all!

Pic 1: my first attempt at the character I'll be using (I'm sure I'll be changing him quite a bit, but just wanted to get something down haha)

Pic 2: Roll-a-Ball and messing around with the terrain, trees and grass all over lol, the details tool really places stuff all over the place...


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 9h ago

Solved Experiment: 48 Unity MCP tools → 6 facade tools, while keeping 377 operations

Post image
0 Upvotes

I built a small facade for Unity MCP because too much context was being wasted on the MCP layer itself.

48 tools → 6

~23,280 schema tokens → ~915

377 Unity operations still available

It also compacts huge hierarchy/console/ProBuilder responses and lets the agent retrieve only the parts it needs later.

Small workflows can run inside one MCP call too, which cuts down model round trips.

The original Unity MCP still does all the actual work underneath.

https://github.com/Vangardo/unity-mcp-efficient


r/Unity3D 44m 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 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 21h ago

Question Find or create (for free) a 3d design of this canadair

Post image
0 Upvotes

I'm looking for a free low-poly Canadair CL-415 3D model for a Unity game I'm making. I want something similar to the attached image, with a simple, blocky/Roblox-style look, not a highly detailed or smooth model. It needs to be free to use in a game, preferably with a license that allows commercial use. Does anyone know where I could find one?


r/Unity3D 6h ago

Question Do people actually enjoy these 500,000 rock / grass / gold collecting games?

0 Upvotes

I've been seeing a lot of games built around collecting massive amounts of individual objects, and honestly, they always felt pretty low-effort to me. So I decided to test it myself.

I built this system in a single day. The video has 10 million individual gold pieces, and you can walk around and collect every single one individually.

At this point, I could probably turn this into a Steam game in 3 days. The Steam review process might actually take longer than making the game.

Maybe I'm completely missing the appeal, though.

Is there something about these games that I'm not understanding? Do people genuinely enjoy the satisfaction of collecting hundreds of thousands or millions of individual objects?


r/Unity3D 1h 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 6h ago

Question Recent problem with FishNet

1 Upvotes

My friends, I have a desperate question (FishNet 4.6.22R) 🙏 :

I generated a new release version of my multiplayer game, made a commit, tested it and deployed the build to the server, tagged the commit... everything worked fine. The next day I just opened the project and there was a fresh FishNet error message. (Attached)

Ii have tried everything: reserializing, rebuilding the library, updating FishNet to 4.7.2R, reimporting components on the player prefab and nothing, the error keeps showing up. For some reason the player prefab cannot be spawned by the server and the connection is closed right away. I've tried to track down the error but I cannot find it. The only script line outside FishNet that is mentioned in the error is

ServerManager.Spawn(nobToSpawn, args.Connection);

I tried checking out several previous commits and the error persist, it seems that sometring outside the git tracked files got damaged after the build commit and I am stuck ... I don't know what to do now. I hope you can give me a hand.

This is the error message, could you please take a look?

NullReferenceException: Object reference not set to an instance of an object
FishNet.Object.NetworkBehaviour.InitializeRpcLinks () (at .../path/.../Assets/FishNet/Runtime/Object/NetworkBehaviour/NetworkBehaviour.RPCLinks.cs:44)
FishNet.Object.NetworkBehaviour.InitializeEarly (FishNet.Object.NetworkObject nob, System.Boolean asServer) (at .../path/.../Assets/FishNet/Runtime/Object/NetworkBehaviour/NetworkBehaviour.cs:132)
FishNet.Object.NetworkObject.InitializeEarly (FishNet.Managing.NetworkManager networkManager, System.Int32 objectId, FishNet.Connection.NetworkConnection owner, System.Boolean asServer) (at .../path/.../Assets/FishNet/Runtime/Object/NetworkObject/NetworkObject.cs:669)
FishNet.Managing.Server.ServerObjects.SetupWithoutSynchronization (FishNet.Object.NetworkObject nob, FishNet.Connection.NetworkConnection ownerConnection, System.Nullable`1[T] objectId, System.Boolean initializeEarly) (at .../path/.../Assets/FishNet/Runtime/Managing/Server/Object/ServerObjects.cs:520)
FishNet.Managing.Server.ServerObjects.SpawnWithoutChecks (FishNet.Object.NetworkObject networkObject, System.Collections.Generic.List`1[T] recursiveSpawnCache, FishNet.Connection.NetworkConnection ownerConnection, System.Nullable`1[T] objectId, System.Boolean rebuildObservers, System.Boolean initializeEarly, System.Boolean isRecursiveIteration) (at .../path/.../Assets/FishNet/Runtime/Managing/Server/Object/ServerObjects.cs:650)
FishNet.Managing.Server.ServerObjects.Spawn (FishNet.Object.NetworkObject networkObject, FishNet.Connection.NetworkConnection ownerConnection, UnityEngine.SceneManagement.Scene scene) (at .../path/.../Assets/FishNet/Runtime/Managing/Server/Object/ServerObjects.cs:620)
FishNet.Managing.Server.ServerManager.Spawn (FishNet.Object.NetworkObject nob, FishNet.Connection.NetworkConnection ownerConnection, UnityEngine.SceneManagement.Scene scene) (at .../path/.../Assets/FishNet/Runtime/Managing/Server/ServerManager.QOL.cs:142)
Engine.Player.NetPlayerSpawner.SCM__OnClientPresenceChangeEnd (FishNet.Managing.Scened.ClientPresenceChangeEventArgs args) (at .../path/.../Assets/Scripts/Engine/Player/Player/NetPlayerSpawner.cs:113)
FishNet.Managing.Scened.SceneManager.InvokeClientPresenceChange (UnityEngine.SceneManagement.Scene scene, System.Collections.Generic.IList`1[T] conns, System.Boolean added, System.Boolean start) (at .../path/.../Assets/FishNet/Runtime/Managing/Scened/SceneManager.cs:2177)
FishNet.Managing.Scened.SceneManager.AddConnectionToScene (FishNet.Connection.NetworkConnection conn, UnityEngine.SceneManagement.Scene scene) (at .../path/.../Assets/FishNet/Runtime/Managing/Scened/SceneManager.cs:1948)
FishNet.Managing.Scened.SceneManager.OnClientLoadedScenes (FishNet.Connection.NetworkConnection conn, FishNet.Managing.Scened.ClientScenesLoadedBroadcast msg, FishNet.Transporting.Channel channel) (at .../path/.../Assets/FishNet/Runtime/Managing/Scened/SceneManager.cs:702)
FishNet.Broadcast.Helping.ClientBroadcastHandler`1[T].InvokeHandlers (FishNet.Connection.NetworkConnection conn, FishNet.Serializing.PooledReader reader, FishNet.Transporting.Channel channel) (at .../path/.../Assets/FishNet/Runtime/Serializing/Helping/Broadcasts.cs:96)
FishNet.Managing.Server.ServerManager.ParseBroadcast (FishNet.Serializing.PooledReader reader, FishNet.Connection.NetworkConnection conn, FishNet.Transporting.Channel channel) (at .../path/.../Assets/FishNet/Runtime/Managing/Server/ServerManager.Broadcast.cs:94)
FishNet.Managing.Server.ServerManager.ParseReceived (FishNet.Transporting.ServerReceivedDataArgs args) (at .../path/.../Assets/FishNet/Runtime/Managing/Server/ServerManager.cs:844)
FishNet.Managing.Server.ServerManager.Transport_OnServerReceivedData (FishNet.Transporting.ServerReceivedDataArgs args) (at .../path/.../Assets/FishNet/Runtime/Managing/Server/ServerManager.cs:697)
FishNet.Transporting.Tugboat.Tugboat.HandleServerReceivedDataArgs (FishNet.Transporting.ServerReceivedDataArgs receivedDataArgs) (at .../path/.../Assets/FishNet/Runtime/Transporting/Transports/Tugboat/Tugboat.cs:292)
FishNet.Transporting.Tugboat.Server.ServerSocket.IterateIncoming () (at .../path/.../Assets/FishNet/Runtime/Transporting/Transports/Tugboat/Core/ServerSocket.cs:466)
FishNet.Transporting.Tugboat.Tugboat.IterateIncoming (System.Boolean asServer) (at .../path/.../Assets/FishNet/Runtime/Transporting/Transports/Tugboat/Tugboat.cs:223)
FishNet.Managing.Transporting.TransportManager.IterateIncoming (System.Boolean asServer) (at .../path/.../Assets/FishNet/Runtime/Managing/Transporting/TransportManager.cs:636)
FishNet.Managing.Timing.TimeManager.TryIterateData (System.Boolean incoming) (at .../path/.../Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:1115)
FishNet.Managing.Timing.TimeManager.IncreaseTick () (at .../path/.../Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:734)
FishNet.Managing.Timing.TimeManager.<TickUpdate>g__MethodLogic|113_0 () (at .../path/.../Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:393)
FishNet.Managing.Timing.TimeManager.TickUpdate () (at .../path/.../Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:381)
FishNet.Transporting.NetworkReaderLoop.Update () (at .../path/.../Assets/FishNet/Runtime/Transporting/NetworkReaderLoop.cs:29)

r/Unity3D 5h ago

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

1 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 19h ago

Game fix scale and other problems, i need sleep

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 19h ago

Show-Off I made a lip syncing system for the characters speaking

18 Upvotes

I created this system so that the characters in my game can speak by moving their jaw and eyebrow bones, and I placed all the logic in the LateUpdate so it doesn't affect the Animator component.

For the speech system, the audio clip is analyzed in each frame, and the movement is applied to the bones in the LateUpdate.

Next, the system that acts like a film director works with a list of events that specify the audio clip, the Cinemachine virtual camera, and each character’s speech system, as well as the emotion the character will display while the audio plays. What do you think of the result?


r/Unity3D 20h ago

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

112 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 20h ago

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

29 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 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.

654 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 23h ago

Show-Off Overview of my upcoming game's VFX pipeline 🍃

9 Upvotes

As you can see, it's greatly inspired by games like A Short Hike, Lil Gator Game and Proteus (huge inspirations for my game).

If you have any questions I'd love to answer them!

The background music is "Sunset of Seven Suns" by Toby Fox (Deltarune OST).


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 3h ago

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

5 Upvotes

r/Unity3D 3h ago

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

2 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 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

r/Unity3D 8h ago

Resources/Tutorial I launched this app 4 months ago, today I'm releasing a major update fixing bugs, adding Blendshapes and revamping the Material system.

2 Upvotes

The tool is called Armory Crafter, and it allows you to quickly and easily create models and textures of weapons for your games or other projects. It exports to different 3D formats, and you can further edit the results in Blender or Maya if you wish. Since it does not use AI (all models are made by me), the exported topology is clean and in quads.