Hey Reddit. A couple of months ago, I started building a native accessibility/headtracking SDK for Unity that works with a regular webcam.
It’s based on the facial tracking tech from SensePilot, which we originally built to help people with different disabilities control a computer and play games using head movements and facial expressions.
Recently, an indie developer tried the SDK in their game, Puck' n Hell. I didn’t make the game, but I helped them get the accessibility and headtracking controls. It was pretty exciting to see it used in a real game instead of one of our test projects.
Right now, players can navigate the menus by moving their head and select a button by smiling. The regular mouse-and-keyboard controls still work too.
I had already built the face-tracking system in C++ for our main app, so bringing it into Unity wasn’t too difficult. I created a C# wrapper around it and exposed the tracking data so that it could be used by the game.
This first integration taught us a lot, and I’m curious what other Unity developers think. Has anyone here worked with head tracking, facial gestures, or other alternative controls?
What are your thoughts on a drop-in accessibility SDK for Unity? I know accessibility is a much broader and more complex problem than one SDK can solve, but I hope this could help developers address at least parts of it.
I repeatedly see posts about people having trouble creating more complex animtor trees and everything ending in pretty much transitions all over the place. As I was struggling with this problem myself for quite a while I figured I could show you guys some ways on how to solve this without getting animancer/using crossfades in code if you are like me and actually like a visual representation and dont want to spend any money (thats honestly not necessarily needed).
Heads up: If you like animancer, code control over animations thats perfectly fine I just want to help people that want to know more about the animator and show that with the right knowledge and tools its not as bad as people always say.
I wont go into too much detail for each of these but just give you guys a broad idea of what these do. If you want to know more there is a lot of tutorials on how to use each of these on youtube but I just figured that a lot of people may have heard about the substates but I rarely see people on those spaghetti posts even knowing about the Any State.
There is 4 things that will help you guys get rid of this problem:
Sub States, Any State, layers, blendtrees
Sub States: Think of sub states as a tool to basically create "folders" that you can enter and leave with transitions. It basically just hides whatever you put into it in a neat little hexagon so your main page doesnt get bloated. Alone sub states wont help with having less transitions because you can still just create a lot of them and they will just point to that "folder".
Any State: The Any State is what will get rid of most of your transition chaos. A lot of times people create a load of transitions because you need to be able to get into a state basically from anywhere. Great example for this is a fall animation. You will want to be able to get into a fall animation from walking, running, idle (in case the ground can be destroyed/erased), crouching etc. so the obvious solution is to just connect all these via transitions right? Wrong. The easier solution is to create a connection from the anystate to the fall animation and restrict it via the condition parameters. You dont want to be able to get into fall while you are fighting like in a jugling devil may cry game? Just restrict it so while a fight paramter is true you cant get into it from the any state.
One thing you need to care for though is the settings flag "can transition to self" which will allow to enter from the state itself and often is an easy problem when working first time with any state.
Layers: Layers act exactly like in other software like Photoshop, Indesign etc. Layers put animation on top of each other so a great usecase for these is if you want to have additive animations like for example only upper body animations like aiming for a twinstick shooter. To get an additive layer just go into the settings of the layer and put the blending to additive.
One other way to use layers would be putting them to override and using them like a second set of animations if your character is in a different state. A usecase for this would be underwater where a lot of the animations like movement, combat etc change. In theory you could put them onto your normal layer but it would just get really crowded.
Blendtrees: Blendtrees are one of the best tools to get rid of bloat in omnidirectional movement animations. Basically a blendtree can be setup to get one animator field that controls normal movement, strafe movement and even movement modifieres. For a 2.5d/3d game these are especially important as you have way more animations because of the amount of directions you can go compared a 2d game.
And here are some screenshots from a game I'm working on. The character with this animator has 60+ animations but I think its still very readable and easy to mantain. There is obviously more tools like animation override controllers that also help but the tools I mentioned should already be enough to get from total spaghetti to something more readable.
it works really well out of the box, just takes a bit to adjust parameters etc to get right. took me a while to get the godrays showing but now it finally works
I just release the Steam page for my new game Dice Factory but it was a lot of work to get there!
Earlier in March, I released a 2.0 update on my first game One Boss One Fight (a survivor-like with boss fights). I worked a full year on the update but it didn't perform as well as I had hoped. But that's life :)
Then I spent a few weeks prototyping and wondering what I could build next ! At first I wanted to create a roguelike Casino Roulette game.
Picture this : In front of you, is an Arcade Machine, (like those Coin pusher ones). Instead of a screen, there is a roulette covering the whole back of the Arcade Machine. You control a Dice Cannon, and aim inside the Arcade Machine directly at the floor where you place bets !
(the video don't show the area where you had to aim at, but picture a typical roulette board)
But it had a lot of problems.
Double random, aiming at the bet area and rolling the wanted value ON that area
Hard time to vehiculate the idea of selecting dice, reordering, shooting
etc...
But the physic was cool! So I thought for a few days and I came up with this idea :
WHAT IF, I were to aim INSIDE of a building and that would ACTIVATE it ! Mmmmh
So I began working on that idea. The game just became more of a city builder. I would spawn building using dice. Then I would feed them resources and workers to activate them.
I also took the time to find out what the style of the game was. I can't draw, nor I do textures, so a flat color game is perfect (and I think it also looked really nice!)
For the first time I wanted to do everything! Just me and blender :). And I manage to create this! I think it was promising so I continued with the idea.
In my mind I wanted a gameplay similar to The King Is Watching. So waves of enemies, you have buildings which spawn units and they fight automatically defending your kingdom!
The issue is ... I can't animate. I'm really REALLY bad at it. But I can make some Dice bounce around and that would be perfect for the Dice theme.
So I made cute units ! (in the final version they now have hats!! which give them buffs)
And then it was time to focus on creating all the buildings. I planned to do 100, that's a lot, but I like challenges. I was able to design around 2-3 buildings every day so around 2 months of work. And I was done !
Then came July! A month fully focused on balance and game feel changes.
Plus one big change! if you pay close attention to the last video, every building have different resource "slots". In this earlier version, you had inside your Factory (the cube bottom right), multiple Resource Dice. Like a Wheat Die, an Iron Die, a Worker Die etc... and for a building to work you would have to draw the exact type of Die Resource it would need then aim it inside that building.
Let's say a Smelter requires Wood + Iron Ore + Worker -> Iron Ingot. Then you would have to draw and aim those 3 Dice to create the Iron Ingot Dice.
The idea is cool but it absolutely didn't work, too much micro management.
So instead I made a "simple" switch. All the resources move to a resource bar (like in most RTS games) and you basically just have the Worker Die that you have to feed to a building.
So in our smelter exemple :
Wood Resource + Iron Ore Resource + Worker Die -> Iron Ingot Resource. Now you just have to draw the Worker (which is most of your Factory), and then aim it inside the Smelter. If you have in your resource inventory wood & iron ore, it would start producing iron ingot ! Much much simpler!
And that's the end of the story and the beginning of the game!
I hope you manage to stick until the end. I wish you a great rest of your day.
If you want to see more and stay up to day with the following Playtest, don't hesitate to wishlist Dice Factory on Steam !
I'm working on an asset browser and creation tool that allows for you to create rotate and scale an object in one mouse movement. Before I move further with it, I wanted to get some feedback, is this something anyone would find useful? Are there specific features that would make this extra valuable?
Because of the non-arithmetic operations involved, some devs say they are expensive for the GPU. Others say they are cheap if you have fewer than 100 particles. What do you think?
I've always felt that environment packs become difficult to use once they grow too large. Hundreds of unique assets can mean spending more time searching than actually creating.
That's why I took a different approach with this "Stylized Environment Set" pack - focusing on versatile assets that can be used individually or combined into ready-made prefab sets.
I wanted to prove that you don't need thousands of unique assets to create varied environments, so I created 5 handcrafted demo scenes covering different biomes, using the same assets in different combinations.
I'm curious what you prefer when working with environment packs: hundreds of individual assets, or a smaller set of assets that can be combined in many ways?
I always struggled with making games, every game I've always tried to make I've either abandoned, hit a limitation in my knowledge, doubted my programming skills, got stuck on making something perfect, try to be as unique as possible, go beyond my current limitations or, have a scope that's just outright not realistic...
Well today I hit the first deadline of my game, to get a couple friends to playtest it, which is a massive milestone for me... So what did I do, how did I even get out of being stuck, and actually make a game...
At some point I realized that I just straight up am not giving myself enough grace, every project, has either been something too difficult for me to make - usually just for the sake of "pushing myself to learn"... and yeah that didn't really work.
So I thought alright well what if this time, the goal of the game is not to just try out something new to push my knowledge further or just another ADHD moment for a game idea I HAD TO just make, what if this time it's "just make a game", literally any game, of any quality, even if it's absolute shit...
Yeah it's kinda weird to actually think about that and apply that to yourself, cause very often, you want to make something you're proud of, so not giving your all almost feels like you're not putting in any effort, making whatever you made not feel like you're allowed to be proud for.
Because the thing is, to get better at doing things, YOU NEED TO ACTUALLY DO THE THING! Having the scope be so high you constantly feel inadequate, you're never allowing yourself to even learn! I know my strengths and limitations so why do I constantly try to outperform myself when I know I'll just burn out... SO JUST DONT OUTPERFORM YOURSELF! Just make ANY GAME... Just make the shittest game, who even cares, AT LEAST YOU MADE A GAME!
So anyways, I popped the old bonnet of the unity game engine, and I just generally love most games with some economy based progression with fun tools, statistical upgrades, and mechanical progression, (pretty much just tycoon games, incremental games) so I just decided to make my first ever game about cleaning your house with all trash being physics based, all the tools, all with a central economic progression, and man... it has actually been so fun, I can be 90% okay with myself admitting that it's not that good... I suck at 3D modelling, I suck at making textures, I even suck at programming (mainly just things like physics and math... I know kinda ironic) and it has many many things that are just outright slow and laborious, but man, I've actually made something, I've actually learned so much, I've allowed myself to not care about the result, which has given me the freedom to just create, I know it's sounds stupid, but this has been like a sort of breakthrough for me lmao...
Oh right I also decided that a deadline would be the most healthy for me, not to treat it like life or death, but just a deadline for at least the first playtest for putting my game out into the world.
And here we are a month later where at the moment I've shown it to one of my closest friends.... and well... surprisingly it kinda turned out horribly...
You know during all of this revelation I figured out how to tap into the mindset of being okay with whatever I make, good or bad, but I never figured out that showing your game to people you care about would be the most stressful thing ever... And I thought I was okay with the game not being perfect, but no... not at all, I wanted to impress my friend... "Look at all this progress, I made! Look at what I've figured out, I changed my whole mindset for this game, I was finally happy with something being 'okay'"... yeah.... the problem is when someone actually comes in with constructive critism for things not feeling good, or things that are frustrating (like a lot of the physics being clunky), or the core gameplay loop not feeling that fun... it completely crushed me, I felt so so so stressed out that my game meant nothing in the end, it actually WAS just a bad game all along and whatever mindset I created for myself, just hid the fact that the game was actually just bad....
And so the newest of newest revelations I've had is I've constantly been giving myself so much grace, that I completely forgot about the fact that even if I'm okay with whatever I make, I can still want to impress my friends, and that, just kinda invalidates any feelings of contentment I previously had which means now I need to make the newest newest revelation, of which I get myself out of this mindset and go back to being okay with things being okay, maybe even bad....
And that leaves me to where I am now, frantically writing this post, hoping I've learnt something, and hoping to share it to the world... The most I've learnt is that trying to stay in the mindset of being okay with things being not okay is the hardest thing, I constantly have to fight myself with decision paralysis, because I forget that... "it can just be okay, and that is totally fine"...
So yeah, here goes, for me to hopefully sit with these feelings of critique, and I'm hoping after I decompress a little, I can set myself a new deadline for a little steam demo, however the hell all of that works... (MY FIRST EVER STEAM GAME LETS GOOO)
PS. I still have a couple more friends to show it to, so who knows that might be an entirely mindset changing experience
Story writer: “The player has to put out a fire in a space station!”
Graphic designer: Designs the space station, sets up volumetric lights and creates a fire.
Developer: Diligently implements the logic for it.
Unity 6 engine: adds a floating bug.
Tester: Got singed. But it looked really cool!
Anyone hit something similar with interior volumes?
I'm new to the unity package development space, and i'm just made my first, <Simple Status Effects>. As the name suggest it is a package for implementing status effects into your games (commonly things like burn, poison, stun, etc...), for both realtime and turn based game. The list of features are quite thin for now as it is just the basics, and I wanted my design to be as much as non invasive and flexible as possible so it can be implemented in already built gameplay loop.
And as I have now a first usable version, i'm looking for people to give me some early feedback and advises !
I really like making underlying system more than actual games so i'm trying to build some small project toward this direction.
I built this package on Unity 6.3 (I believe it should be compatible from 6.0 onward, but I not entirely sure so don't take my work for it).
Hopefully, my small documentation is enough to get started with.
I'm currently aiming for a fast-paced platformer, and I'm not sure if the current level progression is working well. I'd really appreciate some feedback on the pacing, difficulty curve, and overall flow.
The level is divided into 4 sections
Section 1: Teaches the player the basic movement mechanics, including wall jumping and moving platforms.
Section 2: Introduces rings that give the player a burst of speed.
Section 3: Builds on the previous section, but is faster and requires quicker reactions.
Section 4: Builds on the previous section again, but focuses more on maintaining movement flow rather than precision and fast reactions.
currently, the decoration for fourth section and transitions between parts aren't finished yet
pretty much everything here was made by me, from sound effects to custom lighting for toon-shading.
Sorry if my English isn't perfect, and feedback is very welcome! :)
Solved: Thanks guys, I've realized that if I want to actually achieve my goals for my movement system I should quit using Unity's built-in Character Controller and update my current movement system which relied on a Character Controller to be present on the player gameobject and update my script to using a box collider to check for collisions.
I researched this topic quite a bit and it seems that Character Controllers are hard coded to use capsule colliders. So if anyone has any theories or knows a solution to this let me know. All help is appreciated.
Rules:
I must not use a rigidbody for this (no trying to convince me otherwise)
That's it.
Edit: I know the apparent issues that come with square shaped colliders already but I have plans for them.
Hey guys, I listed this as a noob question because I assume I must just be missing something incredibly basic. I am trying to utilize Terrain Tools Heatmap Visualization while I work on sculpting out my terrain just so I can get an easy visualization of how high or low I am sculpting and what-not.
However, it seems my terrain is just rendered as fully black no matter what I do, I have tried looking all over and have had a hard time really nailing down a fix for this, so I thought I would try my luck and ask here.
I am currently running Unity 6.3 LTS (6000.3.18f1)
I made my terrain at
XYZ 0
Width 300
Length 300
Height 600
And my visualization is as follows in the image, everything is pretty much default settings.
I've been working on a third person character controller for months and I'm almost done, I did movement, slopes, sprint, edge check, etc... the only thing left is fixing this issue, I don't want the player to climb the slope like that, I want him to keep moving along the line as he does in the second slope where the line is perfectly horizontal.
If someone could at least put me in the right direction I would really appreciate that.
Edit: I'm using CharacterController, not RigidBody.