Vigyata.AI
Is this your channel?

How to Make a Custom Crosshair in Unity 2025

534 views· 9 likes· 2:45· Jun 16, 2025

🛍️ Products Mentioned (4)

🔫 In this tutorial, I’ll show you how to create a custom crosshair system in Unity and let players switch between different styles using UI buttons. Whether it’s a dot, ring, or classic aim cross, you’ll learn how to: ✔️ Set up multiple crosshair images ✔️ Add UI buttons to switch between them ✔️ Write a simple C# script to manage the logic This is beginner-friendly and fully customizable. 📦 Crosshair assets used in this video are from the Unity Asset Store. Thanks to the original creator for the great design! Simple Modern Crosshairs: Pack 1: https://assetstore.unity.com/packages/2d/gui/icons/simple-modern-crosshairs-pack-1-79034 🔔 Like & Subscribe for more Unity tutorials every week! ➕ Let me know in the comments what kind of tutorials you'd like to see next. 👍 Subscribe for More Unity Tutorials: https://www.youtube.com/@CasayonaCode 💬 Join Our Discord Community: https://discord.gg/hzg93VwPJe 👑 Support on Patreon (Free Assets!): https://www.patreon.com/c/CasayonaCode ❤️ Check Out My Itch.io Page: https://casayonastudio.itch.io/ 📩 Contact Me: casayona.team@gmail.com ················································································

About This Video

In this quick Unity 2025 tutorial, I show you how I make a simple custom crosshair using Unity’s UI system. We start from scratch by creating a Canvas, adding a UI Image, and assigning any sprite you want—dot, classic cross, ring, or your own PNG. The key is centering it properly by setting the anchor and position to the middle of the screen, so it stays locked to the center across resolutions. After that, I take it one step further and turn it into a switchable crosshair system. I duplicate the crosshair Image a few times, give each one a different sprite, and then control everything with a clean CrosshairManager script. I use two public arrays (crosshairs + buttons), wire them up in the Inspector, and add button click listeners in a for-loop—making sure to store the index in a local variable so C# closures don’t break the mapping. When a button is clicked, I activate only the selected crosshair and disable the rest, and I default to crosshair 0 on start. It’s beginner-friendly, scalable, and super easy to expand.

Frequently Asked Questions

🎬 More from Casayona Code