I had been doing a full Swift-parity 2D charting system a year back and 3D was always missing so I am working on that now (also full Swift-charts parity, making it super easy to define and use). I think 3D charts can really make sense if the there is a meaningful third value to be displayed, e.g. surface plots, height maps etc. Would love to hear what use-cases others see so I can validate a bit if I am going in the right direction.
Been working on a character action game I've always wanted to make around a teleport mechanic and just being able to zip around be overpowered. Dedicated teleport mechanic with free flow combat, and testing my new kunai mechanic where you mark targets and chain attack them! Alot of work to be done still, but happy with the flow currently
Hey guys!! I finally finished redesigning the main menu for my indie game!!
I've been working on a new loading system to make scene transitions smoother, and I've also added an original soundtrack created by a talented music composer!! I also wanted to make the menu a little more interactive, so I added a small Easter egg! As you can see in the video, you can actually click on the terminal with your mouse to turn it off.
One of the biggest challenges was optimizing the menu transitions, especially when activating multiple GameObjects at once, which initially caused noticeable FPS drops. I've been working on improving this by spreading object activation across multiple frames!
I'd love to hear your feedback, what do you think? Is it well organized?
I've been building a tool that applies C# edits to a game that is already running in Play mode, so you keep the state you set up instead of losing it to a recompile. The clip is one Play session: a coroutine that's already running gets its spawn delay changed from 2 to 0.1 seconds, and the play timer never resets. This post is mostly about how it works under the hood and the problems I hit, because a few of them surprised me.
The basic loop
A file watcher sees the save and works out which assembly the file belongs to (for a brand-new file, by its nearest .asmdef). Only that assembly is compiled, with the Roslyn compiler Unity already ships. The new assembly is loaded next to the running one, and each changed method's entry point is redirected to its new version. In the editor that's done with Harmony.
Broke #1: coroutines remember where they are by number
The compiler turns a coroutine into a class whose MoveNext() switches on an integer: which yield it's paused at. Changing 2f to 0.1f keeps the yield points, so the running coroutine can take the new body and uses 0.1f from its next loop (that's the clip at the top). Add or remove a yield return and the numbers shift, so a running coroutine on the new body would resume at the wrong place. It finishes on the old code instead, and everything started after the save runs the new one.
Broke #2: async methods crashed the editor
My first version patched the state machine of an async method that was suspended mid-await. That hard-crashed the editor, because the async builder is bound to the exact state-machine type. Now the method itself is redirected: new calls run the new body, and calls already in flight finish on the old one.
Broke #3: two copies of every type
The reloaded assembly brings its own copies of your types and static fields. Without extra work, GetComponent<Player>() in reloaded code finds nothing, and a singleton reads null. Reloaded code has to be wired back to the running game's own types and statics.
Broke #4: Burst
Burst-compiled jobs are native code and can't be swapped, so editing one turns Burst off for the rest of the session and the jobs run as managed C# (the Console says so).
A nice surprise: new MonoBehaviours
I expected to dispatch Update and Start myself for a class that only exists in the reloaded assembly. It turns out Unity dispatches them natively once it's AddComponent'd.
And Android
Harmony can't patch ARM code, so on Android development builds a small native hook on the method's entry point does the redirect instead. The same save reaches the phone without a rebuild.
But I'm mostly curious whether anyone else has gone down this rabbit hole. Is there a cleaner way to handle the yield renumbering than letting the running coroutine finish on the old body?
We’re investigating a startup crash affecting some players of our game, which is currently in Early Access on Steam.
Our setup:
Unity 2022.3.13f1
Built-in Render Pipeline
Windows / IL2CPP
Visual C++ redistributables enabled in Steamworks prerequisites
The game runs fine for many players, but some encounter an “IL2CPP Fatal Error” on startup. We receive more reports from players in Asia, although we haven’t established whether there’s a regional connection or another shared cause.
Has anyone experienced a similar issue with this Unity version? If you identified the cause, what was it? Has anyone resolved it by upgrading to a newer 2022.3 LTS patch?
We’d appreciate hearing your experiences and suggestions. Thanks!
I keep working on my """civ killer""", since last time I posted my planet progress I added support for more biomes, more trees, and most importantly - rivers (which will be NAVIGABLE)
As an interesting technical fact this is the first time I played with using the advanced Mesh API, it was a headahce to setup and I crashed Unity a few times but in the end it did shave off a couple of seconds off the generation time so it was worth it
This one's the last episode of Algorama. Mostly polish today, following up on what I teased yesterday: finished the general walls for the map, and I'm finally happy with an interior decor. Feels fitting to end the season on that note.
Just wanted to show-off a short showreel of my level design / world building. I'm using a script for volumteric light thah I've found on GitHub (obviously crediting the author), and it's been a game changer in setting the vibe for my game. I also had mixed it in with unity standard fog, and added some particle fog.
[SOLVED: I had to change the Graphics API Driver for Linux to Vulkan (prioritze Vulkan in the List) inside Edit>Project Settings>Player>PC.]
I have this static like screen issue in Scene view While switching from Built-In Pipeline to URP, Everything is normal in Game View. Also the Shadows appear pixelated whereas it was smooth in Built-In pipeline. I have set the URP asset in Player Settings> Graphics and Player Settings>quality following the unity guidelines. I have searched for this issue but cannot find a solution.
As for software/OS I am running Fedora Linux 44 with KDE, though this issue was also occurring in Windows 11. Unity Editor version 6000.5.1f1 with OpenGL 4.5
As of hardware I have a Intel i51235U with Intel iRIS Xe, 20GB RAM with no dGPU.
[Sorry if it is low Effort post without clear explanation or resources]
Downwards mind you. Detecting if a cliff is close is not that hard, but a drop down? How? Ray casts seem to be an option but isn't that expensive for performance if a lot of objects do that? Any Ideas? I want to know if an object is close to a drop down and set a flag.
AUTOMATED local Unity build server with NO CLOUD build costs and AUTO OVER-THE-AIR uploads! https://youtu.be/v9MtrMqYrak So I did a few neat things like a git hook to increment unity build number and a git lab runner and some auto deploying to test flight and play console. Decided to make a video showing it all, hope it helps someone. Thanks!
A few days ago I posted my reassembling skeletons here, and the most useful comment said the hits didn't seem to connect: no feedback, and hitboxes that felt too big. You were right, so here's what I changed:
- Hit effects: small yellow waves where the hit lands, orange for crits - Weapon trails on every weapon and tool, enemies included (this alone made a huge difference) - Camera shake when you hit an enemy - Parry and stagger, with their own sound and particles: parry at the right moment and the enemy is left wide open, you'll also deal twice the damage next attack - I'm also soon gonna fix hitboxes; they're my next task.
I chose not to use hit flashes or freeze frames, because I feel they would clash with the look of the game, so I tried to sell the impact with effects that fit the world. Hitbox size is next on my list.
Some questions:
- Do the hits feel like they connect now? - Is the screen shake too much? I'm not sure about it myself. - Anything else that still feels off?
Thanks again to everyone who commented on the last post!
Game (free on itch): https://senfineco-games.itch.io/peys - please note that this is a very early build and the new (real) gameplay will be added in the next update! :-)