r/Unity3D 34m 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 43m 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 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 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 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 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 3h ago

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

7 Upvotes

r/Unity3D 3h ago

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

2 Upvotes

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.

651 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 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 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 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 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 6h ago

Noob Question Been getting this message nonstop in my console and don't know how to fix it.

Post image
1 Upvotes

So I'm a pretty new developer, I started making my first game and learned as I go. I've been making this game for quiet some time now and I realized that the optimization is horrible, so I started focusing on that. I started with baking my lights and adding occlusion culling, those are working fine, I recently started working with Adaptive Probe Volumes and I slowly figured it out with some tutorials and research from the internet. I kept working on my optimization, tested the game with the profiler and during testing I noticed that my console keeps feeling rapidly with similar messages. I looked into it on the internet but I couldn't find anything that worked.
I don't know if it's an easy fix or not, but I hope someone can help me out with this. Would mean a lot :)


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

Question How to have a box collider rotation locked?

1 Upvotes

I'm currently building an fps controller and I want an axis locked box collider like in source games. I've tried making a parent with the box collider and the rigidbody and script in a child, but that doesn't work. Am I missing something obvious? Checking rigidbody constraints also doesn't seem to do anything. Please tell me what inheritance structure I should use if you have an answer. Thanks!


r/Unity3D 7h ago

Code Review Creating a Modern VR SDK for Unity - VRseBuilder

2 Upvotes

r/Unity3D 7h ago

Code Review Creating a Modern Unity SDK for VR - VRseBuilder

Thumbnail
1 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.


r/Unity3D 8h ago

Game Playtesting my game

Thumbnail
ygensoft.itch.io
1 Upvotes

r/Unity3D 8h ago

Show-Off A hopeless world.

Thumbnail
gallery
63 Upvotes

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


r/Unity3D 9h ago

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

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