diff --git a/MrBigsock/Assets/Code/Core/Abilities/Base/AbilityParam.cs b/MrBigsock/Assets/Code/Core/Abilities/Base/AbilityParam.cs
new file mode 100644
index 0000000000000000000000000000000000000000..33681d7a7f9fca053e5011094f60814236e00d1e
--- /dev/null
+++ b/MrBigsock/Assets/Code/Core/Abilities/Base/AbilityParam.cs
@@ -0,0 +1,34 @@
+using System.Collections;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+using UnityEngine;
+using UnityEngine.InputSystem;
+
+
+namespace BigSock {
+
+	/*
+		The parameters we send to all abilities.
+	*/
+	public class AbilityParam : IAbilityParam {
+
+		/*
+			The position the actor is currently aiming at.
+				Ex.: For player, it's the cursor position.
+		*/
+		public Vector2? TargetPos { get; set; }
+
+		/*
+			The direction the actor is moving.
+		*/
+		public Vector2? MovementDir { get; set; }
+
+		/*
+			The character that activated the ability.
+		*/
+		public Character Actor { get; set; }
+	}
+
+}
\ No newline at end of file
diff --git a/MrBigsock/Assets/Code/Core/Abilities/Base/AbilityParam.cs.meta b/MrBigsock/Assets/Code/Core/Abilities/Base/AbilityParam.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1b3fe5bbdf2b7a907c200e7373a22a3ce43f0620
--- /dev/null
+++ b/MrBigsock/Assets/Code/Core/Abilities/Base/AbilityParam.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b73814bfc110bc94086fae9763407d07
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/MrBigsock/Assets/Code/Core/Abilities/Base/IAbilityParam.cs b/MrBigsock/Assets/Code/Core/Abilities/Base/IAbilityParam.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9741d18714665f4fa1f049ae9c49a2a83b75c801
--- /dev/null
+++ b/MrBigsock/Assets/Code/Core/Abilities/Base/IAbilityParam.cs
@@ -0,0 +1,35 @@
+using System.Collections;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+using UnityEngine;
+using UnityEngine.InputSystem;
+
+
+namespace BigSock {
+
+	/*
+		The parameters we send to all abilities.
+	*/
+	public interface IAbilityParam {
+
+		/*
+			The position the actor is currently aiming at.
+				Ex.: For player, it's the cursor position.
+		*/
+		Vector2? TargetPos { get; set; }
+
+		/*
+			The direction the actor is moving.
+		*/
+		Vector2? MovementDir { get; set; }
+
+		/*
+			The character that activated the ability.
+		*/
+		Character Actor { get; set; }
+
+	}
+
+}
\ No newline at end of file
diff --git a/MrBigsock/Assets/Code/Core/Abilities/Base/IAbilityParam.cs.meta b/MrBigsock/Assets/Code/Core/Abilities/Base/IAbilityParam.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..793dffb54b9dd82ef1ad18d076a86cd416541148
--- /dev/null
+++ b/MrBigsock/Assets/Code/Core/Abilities/Base/IAbilityParam.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 337bd5294aa3e514f853b1a94eeb4c32
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: