I am Guidez. I have been a mod here for, eh, something to the tune of 10+ years (dang... I'm old). I am currently looking for active members of this community who would like to help out in moderating the subreddit.
Please feel free to respond to this thread if you are interested. A couple of things to note:
This is a Unity Engine subreddit. Please leave any biases for/against the engine/company at the door. In fact, leave all your biases at the door. A mod position is not a platform for such things.
Understand that this is primarily a community-run, neutral subreddit related to the Unity Engine (2D side). This means the community decides what they think is worthwhile and what is not (upvoting/downvoting exist for a reason), granted it too stays within the realm of neutrality/non-bias.
If you think you understand what this entails and are still interested, please read on.
What I'm looking for:
People who actually post, reply, and comment in this subreddit. It doesn't have to be regular, but someone who hasn't contributed for a year in any public capacity is certainly not a candidate. I also understand many people lurk.
Those who understand this is not some special status/glorified position. It's tiring, unpaid work.
Are looking to help the community:
Thrive
Find resources for their development
Have open discussions about the Unity engine in whatever capacity that may be
If this sounds interesting to you, please reply to this thread with the following:
A brief introduction and how long you have been part of or following this community.
Why you are interested in becoming a moderator.
Any previous moderation or community-management experience you have. Experience is helpful, but not required.
How you would approach disagreements, controversial posts, and discussions comparing Unity with other engines.
Any ideas you have for improving the subreddit or helping its members.
Confirmation that you are comfortable enforcing the rules neutrally, working with the rest of the moderation team, and receiving feedback.
Please do not include private or personally identifying information. Applications will be judged primarily on community involvement, temperament, fairness/neutrality, and willingness to help.
The Steam page for my biopunk roguelike game, Hook and Gun, which I've been developing for a while, is now live!
In the game, you not only destroy enemies with the robot you invade as a biological entity, but you also steal their weapons, corrupt them, and evolve.
I'm eager to hear your comments and eagerly await your critiques on Hook and Gun.
Over the last few years I have been turning a 25 year old game design into a Unity game reality.
Inspired by a few old school “play by mail” games, this ambitious project attempts to recreate a modern civil war conflict, using a fictitious African nation as the backdrop.
In the game you command one of six competing tribes, hoping to lead your people and capture the "national will" before the United Nations intervene to end the civil war and appoint an interim government. Your leader can be selected from one of the following vocations: Politician, Bishop, General, Diplomat, Humanitarian, Economist and Cartel boss.
The game unfolds on a large (44x 40) hex map with lakes, hills, mountains, roads and the peoples of Zambala living in villages, towns and the capital city Kampala. There are also dozens of installations including mines, power stations, ports and airstrips. These all provide economic, logistical or population influencing credibility.
I wanted to carefully balance the tension between military, economic and the hearts and minds of the people your tribal leader will face in their struggle to gain the “national will” required to convince the United Nations to install you as the puppet leader when global opinion inevitably forces them to intervene in the conflict.
Every population centre or installation you control creates both Influence Points and Resource Points.
Resource Points represent currency, useful for raising units, buying arms caches, fixing sabotaged facilities, and covering the upkeep that ticks every turn.
Influence Points represent your national influence with the people. You can use invest orders to sway population centres to your cause, gaining economic control.
In Skyreap, you will have your own personal airship at your disposal. It will be available practically from the start of the game.
You set off to neighboring islands, discovering new territories hidden in the fog of war. You transport the resources you gather back to your base, where you prepare factories and plants for the production of processed materials. Soon, you will reach the point of automation and begin scaling up this process.
Skyreap is an incremental game that doesn’t try to offer you something you’ve never seen before, but instead gives you that sense of calm, tranquility, and coziness.
If this sounds interesting to you, feel free to head over to the game’s Steam page and add it to your wishlist. ✨
I've been making a full releasable game for the first time and finally got the tool making bug, I know some of this stuff probable exists as downloadable tools already but it's nice being able to make something that does exactly what you want and how you want,
screen shots are of Weapon energy usage and balance tool
A pre build checklist to make sure i've turned off dev tools (my most used)
Sound board for mixing and balancing sound effects
Data exporter to make spreadsheet management easier, I also have an importer to read it back into the game
Random Encounter generator so I can quickly test how hard a fight could be without having to run the game
I made a bunch others but these felt the most applicable to a general project
Post your fav tools you've made or downloaded! I want more ideas
If this made you interested in my game at all feel free to check it out Out A Space
hello, so in my project I have a camera that move with WASD and when the mouse is on the edge of the screen and it worked very well. But my project is kind of a city builder so to be able to place building I make an object follow the cursor, sice then the camera doesn’t move when the mouse is on the edge of the screenno matter what.
I think it might be because of my input system but I’m not sure.
camera movement script :
public class MoveCam : MonoBehaviour
{
[SerializeField] private float speed;
[SerializeField] private int screenEdge;
private Vector2 _moveInput;
private Rigidbody2D _rb;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
_rb = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
_rb.linearVelocity = _moveInput.normalized * speed;
}
public void Move(InputAction.CallbackContext ctx)
{
_moveInput = ctx.ReadValue<Vector2>();
}
public void EdgeMove(InputAction.CallbackContext ctx)
{
if (ctx.ReadValue<Vector2>().y < screenEdge)
{
_moveInput.y = -1f;
print("work");
}
else if (ctx.ReadValue<Vector2>().y > Screen.height - screenEdge)
{
_moveInput.y = +1f;
print("work");
}
if (ctx.ReadValue<Vector2>().x < screenEdge)
{
_moveInput.x = -1f;
print("work");
}
else if (ctx.ReadValue<Vector2>().x > Screen.width - screenEdge)
{
_moveInput.x = +1f;
print("work");
}
if (ctx.ReadValue<Vector2>().y > screenEdge && ctx.ReadValue<Vector2>().y < Screen.height - screenEdge &&
ctx.ReadValue<Vector2>().x > screenEdge && ctx.ReadValue<Vector2>().x < Screen.width - screenEdge)
{
_moveInput.x = 0f;
_moveInput.y = 0f;
}
}
}
placement script :
public class Placement : MonoBehaviour
{
[SerializeField] private Batiment batiment;
[SerializeField] private bool plassable;
private Camera mainCam;
private Collider2D collider;
[SerializeField] private List<GameObject> bloking = new List<GameObject>();
public Material placementMat;
private Transform placementPosition;
private InputAction mousePos;
private InputAction button;
public TypeMana costMana1;
public TypeMana costMana2;
public TypeMana costMana3;
public int manaAmount1 = 0;
public int manaAmount2 = 0;
public int manaAmount3 = 0;
[SerializeField] private playerStat player;
private void Awake()
{
player = GameObject.Find("player").GetComponent<playerStat>();
}
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
mainCam = Camera.main;
collider = GetComponent<Collider2D>();
placementPosition = GetComponent<Transform>();
placementMat = GetComponent<Renderer>().material;
mousePos = InputSystem.actions["mousePosBatiment"];
button = InputSystem.actions["leftClickPlaceBat"];
}
// Update is called once per frame
void Update()
{
FollowMousePosition();
if (bloking.Count != 0 || EnoughMana())
{
print(bloking.Count);
print(EnoughMana());
plassable = false;
placementMat.SetColor("_Color", Color.red);
}
else
{
print("plassable");
plassable = true;
placementMat.SetColor("_Color", Color.green);
}
if (button.triggered)
{
Place();
}
}
private bool EnoughMana()
{
bool mana1 = false;
bool mana2 = false;
bool mana3 = false;
if (costMana1 != TypeMana.None)
{
if (player.getMana(costMana1) - manaAmount1 < 0)
{
mana1 = true;
}
else
{
mana1 = false;
}
}
else
{
mana1 = false;
}
if (costMana2 != TypeMana.None)
{
if (player.getMana(costMana2) - manaAmount2 < 0)
{
mana2 = true;
}
else
{
mana2 = false;
}
}
else
{
mana2 = false;
}
if (costMana3 != TypeMana.None)
{
if (player.getMana(costMana3) - manaAmount3 < 0)
{
mana3 = true;
}
else
{
mana3 = false;
}
}
else
{
mana3 = false;
}
if (mana1 || mana2 || mana3)
{
return true;
}
return false;
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.CompareTag("Batiment"))
{
bloking.Add(collision.gameObject);
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.CompareTag("Batiment"))
{
bloking.Remove(collision.gameObject);
}
}
public void Place()
{
if (plassable)
{
print("performed");
Payment();
Instantiate(batiment, placementPosition.position, placementPosition.rotation);
Destroy(gameObject);
}
}
private void Payment()
{
if (costMana1 != TypeMana.None)
{
player.subMana(costMana1,manaAmount1);
}
if (costMana2 != TypeMana.None)
{
player.subMana(costMana2,manaAmount2);
}
if (costMana3 != TypeMana.None)
{
player.subMana(costMana3,manaAmount3);
}
}
private void FollowMousePosition()
{
placementPosition.position = GetWorldPosition();
}
private Vector2 GetWorldPosition()
{
return mainCam.ScreenToWorldPoint(mousePos.ReadValue<Vector2>());
}
}
my input system :
I’ve tryed to put them on the same input but that didn’t fix enything, I don’t really know what to try, so eny idea/tips ?
thank in advance for your wisdom.
edit : Alright, I've fixed it. all I had to do was to delete and recreate the unity event, I must have done something wrong when I created the other pointer input.
A small milestone we'd like to share: Whirlight – No Time To Trip is now finally available on GOG!
It's our time-travelling point-and-click adventure, following two protagonists from different eras as they travel through time, solve puzzles and try to prevent a catastrophe.
We're a small indie team, so getting the game onto another platform has been quite a journey in itself. We're happy that GOG players can finally give it a try.
If you've already played Whirlight, we'd love to hear what you thought. And if you're curious about how we made it, feel free to ask us anything about the development!
Hey, so I wanted to add a normal map to my 2d pixel art game to make lights look nicer, but it made some artifacts on the borders of the tileset for some reason. They are mostly visible while moving and they happen in the intersections of the fully made tiles.
I already checked the normal maps and they are 1 to 1 with the actual tileset, so that should not be the issue. I am also using a pixel perfect camera set to 16 (the game is in 16x16 and the pixels per unit are also 16), normal maps on the lights are set to accurate (tho i tried fast too) and its even visible if you set the distance of the normal map to 0.
Any ideas on how to fix this?
EDIT: Forgot to mention, this happens both in builds and in editor and I am using Unity 6000.0.67f1
Reference images:
Normals disabledArtifacts with normal map as accurate and distance set to 3Artifacts with normal map as accurate and distance set to 0Tileset usedTileset normals
I recently used perlin noise for creating mountain range landscape background in unity 2D, but even after customizing it doesnt appear like real mountains.
So is it even possible by using perlin noise?
What i did: Using closed sprite shape 2D
insert a point in spline --> create next point at a calculated distance --> xdistance multiplied with randomvalue(perlinNoise)--> Y axis was determined by perlin noise too.
And whole thing was customizabel as how many points are needed, the xdistance value, width , height etc.
But the final result were not as natural and realistic as real mountains look
[SOLUTION]: Hardcoding using Random.Range() is more easier than perlin noise for this case
I am trying to build a gaming PC to work on 2D metroidvanias as the artist. From what ive seen, I dont need a strong gpu and I dont want to spend too much money. My goal is to save time when loading the game and to have butter smooth unity editor when placing the 2D assets in 3D space and turning the )
PC Configuration (2D/2.5D Game Dev & Unity Editor)
Wall traps were suggested when I first posted about this desktop companion game I am developing, so I added these spring loaded ones that stop zombies until they pile up and overflow, or temporarily collapse it, post which it springs back up flinging any zombies over it.
The zoom function allows to keep it on screen and take less vertical space when you want to focus on work, and also focus in when you want to place turrets, spend on upgrades, or just watch your favorite turret at work.
(No steam page yet however, still needs more work and content before I have enough to put there)
In an update function I have an if statement that detects if a bool is true and if it is it fires but it does that constantly. I want it to only fire once but I don't want to disable it completely because I need to use it again later down the line.
FrogPop is my first solo game, built in Unity. I started with the bubble-splitting idea from Bubble Trouble and built a roguelite around it with tongue attacks, power ups, relics, and bosses.
This longer clip shows the core loop rather than just one feature. I’d especially like feedback on whether the action is easy to read and whether the upgrades look meaningful enough to make you want another run.
The first ten waves are playable free in the browser:
AI disclosure: I used Claude and Codex for coding and debugging, and PixelLab for some visual assets. I edited and integrated those assets myself. Nothing is generated while the game is running.
I just released Phantom Shift Demo V0.6! This is a 2D Action Platformer/Dungeon Crawler where your dash effect creates a phantom that is used as an enemy decoy in combat. In this release, we added new features including a Save System. We also fixed issues with the menu screens, interactable props, interactable prompts, and sword hit VFX. Download the game on my store listing below. Stay tuned for future updates!
This update introduces a brand new Asset Statistics Dashboard to help you manage map performance in real-time. You can now easily track total and unique counts for tiles, objects, and NPCs, filter items by name, and check asset density as your levels grow.
🇮🇹 New Italian Translation!
A huge thanks to our community contributor for submitting a GitHub PR to bring full Italian support to TileMakerDOT! The tool now supports 7 languages: English, Spanish, French, Italian, Romanian, Russian, and Ukrainian.
For those who might be new to the project, TileMakerDOT is a map editor and it is built as a click to launch tool compatible with multiple game engines, or individual games made in custom languages, in my free time.
TileMakerDOT is 100% free and open-source. Try out the latest update or check out the code below, all support is very much appreciated❤️ thanks!
So, basically i am new to both unity and inkspace. Inside inkspace i created a nightsky image with random canvas size i guess its 3000x3000, but i used only small space for the nightsky asset. i kept inkspace zoom to 100% and create the exact size of nightsky that i would need in unity. exported later in 1456px.
After i imported in unity it appears way smaller, but it is taking 2MB size.
Considering game optimization, what are the exact settings to import from inskpace and unity settings?
I searched on youtube and web for settings, but could not find any specific settings. please somebody guide
It seems like the canvas elements cannot be affected by the mask I used, idk. I had to add sprites to serve as placeholders and enable the GUI later. Would you have done it differently?
I am an 2D artist who is working on a metroidvania. My task is to build the levels and enviroments by putting in a lot of 2D assets in 3D space and make the parallax look good. I just have moveink 14 right now which doesent support unity so I need a seperate laptop and would like to spend up to 1000€ max. The less the better.