diff --git a/MrBigsock/Assets/Code/Core/Abilities/AbilityDodge.cs b/MrBigsock/Assets/Code/Core/Abilities/AbilityDodge.cs
index ff78922d6c34590ab574eaedb5b229a9e5b60f27..d3be2c1a5c405f3fd9f5415fda21837c3f90c019 100644
--- a/MrBigsock/Assets/Code/Core/Abilities/AbilityDodge.cs
+++ b/MrBigsock/Assets/Code/Core/Abilities/AbilityDodge.cs
@@ -19,6 +19,7 @@ namespace BigSock {
 		public override ulong Id => 201;
 		public override string Name => "Dodge";
 		public override string Description => "A basic dodge move.";
+		public override string IconName => "item/foureyes";
 
 		public AbilityDodge() {
 			StaminaCost = 10;
diff --git a/MrBigsock/Assets/Code/Core/Abilities/Base/BaseAbility.cs b/MrBigsock/Assets/Code/Core/Abilities/Base/BaseAbility.cs
index 068ffe60f5fb6ced2ca7d6b90ef62fae62d50090..920ec10e80ef0c36aa0b34180e2e311673c2f8cc 100644
--- a/MrBigsock/Assets/Code/Core/Abilities/Base/BaseAbility.cs
+++ b/MrBigsock/Assets/Code/Core/Abilities/Base/BaseAbility.cs
@@ -6,6 +6,8 @@ using System.Text;
 using UnityEngine;
 using UnityEngine.InputSystem;
 
+using BigSock.Service;
+
 
 namespace BigSock {
 
@@ -33,6 +35,19 @@ namespace BigSock {
 		*/
 		public abstract ulong Id { get; }
 
+
+		/*
+			The icon of the ability.
+		*/
+		public Sprite Icon => SpriteService.SINGLETON.Get(IconName);
+
+		/*
+			The name of the icon this ability uses.
+				Override this to change what icon the item uses.
+		*/
+		public virtual string IconName { get; } = "item/runningshoes";
+
+
 		/*
 			The next time the ability has cooled down.
 		*/
diff --git a/MrBigsock/Assets/Code/Core/Abilities/Base/IAbility.cs b/MrBigsock/Assets/Code/Core/Abilities/Base/IAbility.cs
index e746fa82e6e644cc5b933e853ca0661da79ec52b..7fa26addb551b8ccd6d48dc4c23e0a2088977e7e 100644
--- a/MrBigsock/Assets/Code/Core/Abilities/Base/IAbility.cs
+++ b/MrBigsock/Assets/Code/Core/Abilities/Base/IAbility.cs
@@ -31,6 +31,11 @@ namespace BigSock {
 		*/
 		ulong Id { get; }
 
+		/*
+			The icon of the ability.
+		*/
+		Sprite Icon { get; }
+
 		/*
 			The next time the ability has cooled down.
 		*/
diff --git a/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile1.cs b/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile1.cs
index 505c9dc1032e4e731a18029ac9d725032a682a21..430978b0b024ff230733fb3ef367e980aa41c773 100644
--- a/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile1.cs
+++ b/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile1.cs
@@ -23,6 +23,7 @@ namespace BigSock {
 		public override ulong Id => 101;
 		public override string Name => "Basic Player Projectile Attack";
 		public override string Description => "A basic projectile shooting attack the player has.";
+		public override string IconName => "item/coffee";
 
 		public BasicProjectile1() {
 			AttackStats = new AttackStats{
diff --git a/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile2.cs b/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile2.cs
index cf848b71f4371de4d902db420585a41db95339e8..f24257d46c4f0c0a32f5f4db7e87e44c55d1a5b8 100644
--- a/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile2.cs
+++ b/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile2.cs
@@ -23,6 +23,7 @@ namespace BigSock {
 		public override ulong Id => 104;
 		public override string Name => "Chargeable Player Attack";
 		public override string Description => "A basic projectile shooting attack the player has.";
+		public override string IconName => "item/elixirofspeed";
 
 
 
diff --git a/MrBigsock/Assets/Code/Core/Abilities/BiggerSlowerProjectile.cs b/MrBigsock/Assets/Code/Core/Abilities/BiggerSlowerProjectile.cs
index 0fa01a452d9e7c99bf89110718efa1027d7f549a..1c54514c497c53d12bd7ab1877a14ad50662529e 100644
--- a/MrBigsock/Assets/Code/Core/Abilities/BiggerSlowerProjectile.cs
+++ b/MrBigsock/Assets/Code/Core/Abilities/BiggerSlowerProjectile.cs
@@ -20,6 +20,7 @@ namespace BigSock {
 		public override ulong Id => 102;
 		public override string Name => "Big Ball";
 		public override string Description => "It's big and slow, but it packs a punch.";
+		public override string IconName => "item/premature";
 
 		public BiggerSlowerProjectile() {
 			AttackStats = new AttackStats{