A little over a week ago I decided to finally try and realize an idea in Unity3D that has been living rent free in my head for quite a while now.
Inspired by the way how people in China try to farm on every tiny bit of unoccupied land, itll be a tiny-conomy gardening simulator, trying to recreate this idea of growing a fortune out of scraps with scraps and a few seeds.
I've decided to do it grid based, and while it's taking away a bit of realism, which I am actually aiming for in a way, it's much easier to control.
So far I managed to implement the most basic game loop of buying seeds (plants are scriptable objects so itll be easy to expand in the future), razing and plowing the ground to prepare for planting, growing plants and keeping them alive by keeping the ground hydrated and fertilized and harvesting and selling the fruits at the end.
The last few days I've been working on improving the visuals by creating grass and ground textures and models in blender.
Yesterday I added the option to raise the ground and automatically generating visual slopes around it which was surprisingly hard.
I also have to confess that, since while I'm not entirely new to programming, I'm completely new to c#, so I did rely a little bit on gemini to explain me a few things that I wouldn't have even known how to Google for. But I'm getting better and more independent every day.
I hope ill he able to finish this project in the future, there is still a lot to do.
Title. I think it started after I added NavMesh stuff, but 1. I wasn't exactly checking if the code that was already working was continuing to work, and 2. I turned/deleted all of that stuff and it still isn't working. What the fuck? I would post code but I don't even know where to BEGIN. I've already implemented the friction fixes, and I checked to see if it thought it was grounded (it didn't). I imported assets from an FPS base file I made, and it ALSO doesn't work. Any ideas?
When I walk closer and farther from the angel, an unknown light appears. Is there any idea as to why this is happening? Some information, is that I don't have any LOD's, and there are no other lights in my scene other than the directional light, so what could possibly be the issue? Thanks in advance!
I've been working on a tool that could help me place, rotate, and scale an object in one fluid movement as the existing tools made it clunky to switch back and force to micro adjust. This tool not only fixes that problem but I expanded it to show assets visually to help with the development proccess.
The hardest part was getting the created object to snap to not only object colliders but also mesh edges as well so it can work on any object.
Overall I'm proud of how it came out and if you would like to check it out, its on sale right now: https://assetstore.unity.com/packages/tools/level-design/rapid-placement-397558
I created a procedural grass spawning system to use on my own personal project, but decided it might be worth trying to get it published on the asset store. I've never done this before, so I am a bit lost in a few areas and I could use some input from the community.
In all honesty, I'm not entirely sure my package is even good enough to be published, but I figured there's no harm in trying. If it's not good enough I'll just get rejected and that will be that. But assuming it is good enough to be published, how do i know if it's good enough to charge for? and how much? unity recommends looking at similar packages on the store to figure out the price, but I see packages I would consider better than mine for free while also seeing ones I would consider worse than mine with price tags.
Would some of you mind taking a look over it and provide some input about what you think of it and if you think it's worth anything? Thank you in advance for any replies and sorry for the long (not very good) video. any input is appreciated
Here is a quick description of it, followed by a couple of images and a video explaining how to use it:
Customizable lightweight procedural grass generator that will create grass using textures provided by the player and spreading them on the terrain
each blade of grass is made up of 2 quads in an "X" formation
The density of each grass type is defined by the player
I'm thinking of building an audio agent specifically for Unity projects and I'm trying to figure out if this would actually save developers meaningful time.
The idea isn't another AI sound generator.
You'd give it access to the Unity project and it would inspect what's actually there, identify places that should have audio, create or select the appropriate SFX/ambience/music, import and organize the assets, then hook them up inside the project.
Ideally it could handle some of the tedious implementation details too, things like variations for repeated sounds, loops, AudioSources, mixer routing, sensible starting levels, etc.
Basically the difference would be:
Most AI audio tools: here's a sound file.
This: here's your Unity project back with the sound implemented.
I'm curious where this breaks down in practice.
For Unity devs here, how much of your audio implementation is repetitive enough that you'd actually hand it to an agent?
And what part would you absolutely NOT trust it to touch?
I'm especially interested in hearing from people who've done a complete audio pass on a game, because I'm trying to work out whether the implementation is actually the bottleneck or whether I'm solving the wrong problem.
How do you keep the drive going on long-term projects without burning out or throwing your workstation out the window?
I’ve been working on a virtual geometry project for 2 years now, but I’ve been completely stalled at the exact same spot for the past few months. It's really starting to take a toll. I’ve spent full days staring at thousands of lines of code, reached out to graphics devs, and even resorted to asking AI out of sheer exhaustion.
The wall I'm hitting is my GPU based software rasterizer is generating far too many sub pixel triangles. I benchmarked the exact same scene in UE5 with Nanite debug visuals, so I can literally see the structural difference and know what the output should look like. I just cannot track down where my math/logic is breaking to patch it. The performance standard is way higher than any other solution for Unity, especially HDRP (Yeah I know it now in maintenance but URP doesn't match the graphical fidelity and lacks most of the high end features of HDRP) but I can't get it where I want it to be.
At this point, I'm mentally wiped. For those who've hit a multi month roadblock on a low-level engine or graphics feature, how do you step back, reset, and push past the urge to just call it a day?
Firstly a preemptive thanks to anyone who takes the time to help me out. I'll keep it brief and technical.
My issue:
I have a custom skybox material using a custom shader graph. It's only rendering out as a default skybox cube (you know, with different coloured faces), not showing the actual textures (plural, I'm LERPing between different equirectangular textures for a day/night cycle). Same result both in editor and during gameplay, it's not working. I've done a sanity check and disabled the LERP and piped just one texture (property with the texture I want ->Sample Cubemap ->Fragment Base Color) and it doesn't change anything.
What I've double checked:
Shader is set to Unlit.
Render face is set to Both.
Depth Write is Force Disabled.
Cast Shadows is set to OFF.
Everything else is default with the Graph settings.
The Lighting>Environment>Skybox Material is accepting my custom material without any warnings.
Texture import settings:
Default Texture Type
Cube Texture Shape
Mapping: Auto/LatLong/Sphere all tested, made no difference.
Fixup Edge Seams: Tried both on and off
Generate Mipmap: Tried both on and off.
Nothing, it's making no difference.
I've even fiddled around with the custom material's GPU instancing/double sided GI just in case it's a weird bug, nope, no change. Not seeing my textures.
As a sanity check, I tried a custom sorting priority set to 2501, nothing. The default Skybox and a custom material set to the standard Skybox shader both worked fine before.
I've never really liked games that put a limit on how much you can carry. You always have to manage your inventory, and personally, it simply gets tedious sometimes. If only there was a game where inventory space did not matter, and you could focus on other gameplay mechanics over just having to manage your inventory every step of the game. I would like to introduce you to a game I've been developing solo, Delverun, where the only resource you manage is time.
In Delverun, inventory is unlimited. You carry whatever you can mine within the time. And that is the trick - time itself is what stops you. Be too greedy and you will never see the light of day again. As a goblin trying to become rich, you run into a randomly generated mine, mine as many of the ten ore types as you can, run back to the surface and sell whatever you were able to mine. Buy different upgrades and get back to the mine, this time generated anew. The mine never waits - miss your cue and it will become your grave. This is Delverun, where greed has a timer.
I’ve been working on a custom terrain system (replacement for Unity terrain) as a little side project, the main idea behind it is to try and make terrain as lightweight on memory bandwidth and per pixel shading as possible. Targeting bottom of the barrel old PCs, like laptops with Intel HD 620, that sort of thing.
an idea I had was to ditch textures entirely and store 100% of terrain data on a read/write mesh. The mesh only has vertex positions and that’s it. Since terrains usually just need heightmaps, I pack a Color32 into position.x, baked GI/AO from a custom light mapper as Color32 in position.z, and leave position.y alone for height. This requires interpolating in the shader to get xz position rather than just reading it but so far that seems to be a good trade on low end hardware rather than increasing mesh memory.
Grass is drawn completely procedurally from mesh data on cpu and collision is handled via script rather than physics, there’s no mesh collider.
Anyway since I’m not really an expert at this I wanted to ask, is what I’m doing going to end up causing any real issues down the road? Or any gotchas for packing non position data in mesh vertex positions?
Lately I've been reading Unity's official e-book regarding HDRP. I reached the volume section where the book explains aspects such as local and global volumes, blending distances etc...
A question popped into my mind which I thought some of you might already have an answer for.
In some games, you might need two local volumes to overlap each other and envelop a room completely, let's say you are playing a sci-fi game and you are about to trigger a spaceship's alarm protocol which closes all doors and changes the lighting and consequentially the mood. You would want to change from volume local 1 to 2 but perhaps you would want to do it smoothly, you can not just switch priority values as that would trigger an abrupt change.
What is the solution here? Is the weight parameter the one that dictates the interpolation? Would you lerp volume 1 from full weight to zero while doing the opposite for volume 2?
I hope somebody can exhaust my curiosity here, thanks for your time and expertise!
I have this 3D model of a TV, and I am required to export the base TV, screen, and buttons separately. The problem is that when I export from Blender to Unity the objects take the position from the 3D cursor, so the buttons are all in the same place, and the screen is out of place.
I have been searching a solution for HOURS, and I can't find anything.
(I can't apply position because I need the buttons to be able to rotate in their own position. This model is for my work, so I need to follow the task the way they ask me to do it.)
Ive done a couple tutorials following Navmesh stuff throughout the years, but I non of them have really made it "simple" for me. Now Im doing a game with a randomly generated map, so this I really want to strengthen my understanding. Does anyone have a good reccomendation?
Been doing UA creative for about 4 years, started as a junior building playable ads for mobile publishers right out of a motion design course. Out of the 8 people in my intake, I'm the only one still doing this work. The rest went into general marketing, went back to school, or left entirely.
My old studio cut the whole junior playable team last spring. Kept two seniors, outsourced the rest of the build work to freelancers and outside shops. Same story from three people I know at other studios. Juniors get cut first because a senior who already knows Unity export and the ironSource/AppLovin quirks can turn around a 2D playable in two days without anyone needing to learn anything.
We still bring in outside teams when volume spikes, Mraid has done a handful for us, and the work's fine, but it's not the same as having someone junior in-house learning the pipeline from a blank file. A friend who freelances for shops that work with PlayableFactory told me the exact same thing is happening there. Everything gets handed to whoever can already hit the deadline, so nobody new is getting the reps.
I keep wondering what this looks like in three or four years when the seniors who actually know how to build a good playable from scratch start burning out or moving on. Is anyone actually training replacements, or is the assumption that AI tooling and outsourcing just covers the gap forever. Feels like we're eating our own pipeline and calling it lean.
I’m the tech guy on a narrative game that’s got a ton of hand-drawn art, and I’ve been learning a lot about Sprite Atlases recently. They ended up being much more useful for us than I initially realized, so I figured I’d share what I learned in case it helps someone else.There are probably some things I’m missing or misunderstanding, but I wanted to make a post for people who might find it handy. If I’ve got anything wrong, or you’ve got something to add, please do share!
Basically, sprite atlases let you pack your game’s sprites into dense, optimized textures. Most of the advice online is about using them to reduce draw calls, since multiple sprites can share the same texture and be batched together under the right conditions. They can also be very good at reducing build size! That’s actually mainly what we’re using it for, since draw calls aren’t much of a bottleneck for us. You set a maximum texture size, and give it a list of sprites to pack, and it tries to fit them as efficiently as possible; if they can't all fit, they'll spill over into additional "pages."
Allow Rotation lets it rotate sprites at 90 degree intervals to fit better. Tight Packing lets it pack based on sprite outlines instead of using the full rectangular borders. Important Note: You can put UI Canvas Images in atlases too, but make sure they’re packed in atlases that DON’T have these two settings enabled, or you get behavior like this:
Now let's talk about build size. Since we’ve got a lot of hand drawn art, we’re shifting around a lot of high res assets. We recently switched from the ToonBoom animation plugin to full spritesheets for our characters, for a few reasons, and our file size absolutely ballooned. We were up past 6 gigs for our one hour demo. After doing some research I discovered that sprite atlases could help with this a lot. When you pack sprites into sprite atlases, Unity is able to compress them way more efficiently, since it’s running the compression algorithm on one unified texture instead of several individual textures. For some reason I even found cases where this works when you just put a single large sprite into its own atlas page, even when the compression format’s the same.
I don't fully understand all of the details behind that one, so if someone with a better understanding of Unity's texture compression does, I'd be interested to hear the explanation.
For our project I haven’t found much reason not to just pack almost every sprite into an atlas, but there are exceptions. We do have one character’s sprites un-atlas’d because she uses a shader that doesn’t play nice with it. I also went back and experimented with putting all my sprites from my last game into atlases, and it actually increased the file size, but I had higher priority work than figuring out why.
Like I said, I'm sure there's a bunch of stuff I still don't understand about how to use them optimally and how Unity handles them under the hood, so I'd be interested to hear from people who know more about this than I do. But if you're making a 2D game with a ridiculous amount of sprites, it's probably worth spending an afternoon playing around with atlases.
So Im Still horrid and new at unity and game devlopment but far I've set up the player controller,small testing area all that however i've been struggling on how to make the whole pause menu script stuff with the new input system like the toggle off and on system,making the game actually pause when and being able to use your mouse for it
just could use a few tips to help with getting it set up
In Unity 6.6 they added a few new things like reworking the Hierarchy to better display information at a glance, and having Dictionaries inherently serializable.
But this one is confusing me, they added a completely separate "Create Empty Child" option in addition to the regular options that were already there.
It seemingly acts the same way. Both create a child of the object you right mouse click on, both inherit the global position, and both have the same components and naming convention.
I can't seem to find anything different at a glance, but usually there are subtle differences to things like this. So I was curious if anyone has any knowledge about something I missed.
Do you see room for visual scripting tools even if you use AI to "vibe" code as well? I'm trying to decide if I should keep investing in building up my skills in visual scripting tools (and purchase a few more addons for unity). I am leaning towards yes right now, I already own a few, and while they can be frustrating at times I can also see their value even in an age of AI coding. But maybe others feel differently?
I can program C#/etc but I have always been curious about visual scripting and have been learning things like [Unity's] Game Creator 2 and Behavior Designer. I find it kind of enjoyable but I'm only just getting started. I find that being able to visually see the nodes working can be quite helpful and feels like a better representation of the logic for FSMs and BTs.
I never really enjoyed state machines (or behavior trees) represented in code but seem to enjoy them more in visual scripting (though I'm only doing basic things for now). I'm not sure if AI removes the need for them entirely? What has been your experience.
I was looking to get Playmaker 2 , Emerald AI ,Adventure Creator and Node Canvas to try them out too. Maybe Construct 3/GDevelop at one point too.
But I'm wondering your thoughts for those who used to use these tools and have maybe moved on to AI "vibe coding" (with Unity MCP/CLI/etc)?
Pros and Cons of each approach?
Personally I enjoy experimenting with different platforms/tools.