diff --git a/code/modules/client/preference_setup/loadout/loadout_utility.dm b/code/modules/client/preference_setup/loadout/loadout_utility.dm
index 4a945f442c..c773b81468 100644
--- a/code/modules/client/preference_setup/loadout/loadout_utility.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_utility.dm
@@ -141,6 +141,11 @@
)
gear_tweaks += new/datum/gear_tweak/path(wheelchairs)
+/datum/gear/utility/bs_bracelet
+ display_name = "bluespace bracelet"
+ path = /obj/item/clothing/gloves/bluespace
+ cost = 5
+
/****************
modular computers
****************/
diff --git a/code/modules/clothing/under/miscellaneous_vr.dm b/code/modules/clothing/under/miscellaneous_vr.dm
index cc38682286..8787cac22b 100644
--- a/code/modules/clothing/under/miscellaneous_vr.dm
+++ b/code/modules/clothing/under/miscellaneous_vr.dm
@@ -115,6 +115,44 @@
original_size = null
H.visible_message("The space around [H] distorts as they return to their original size!","The space around you distorts as you return to your original size!")
+/obj/item/clothing/gloves/bluespace
+ name = "size standardization bracelet"
+ desc = "A somewhat bulky metal bracelet featuring a crystal, glowing blue. The outer side of the bracelet has an elongated case that one might imagine contains electronic components. This bracelet is used to standardize the size of crewmembers who may need a non-permanent size assist."
+ icon = 'icons/inventory/accessory/item_vr.dmi'
+ icon_state = "bs_bracelet"
+ w_class = ITEMSIZE_TINY
+ var/original_size
+ var/last_activated
+
+/obj/item/clothing/gloves/bluespace/mob_can_equip(mob/M, gloves, disable_warning = 0)
+ . = ..()
+ if(. && ishuman(M))
+ var/mob/living/carbon/human/H = M
+ if(!H.resizable)
+ return
+ if(H.size_multiplier != 1)
+ if(!(world.time - last_activated > 10 SECONDS))
+ to_chat(M, "\The [src] flickers. It seems to be recharging.")
+ return
+ last_activated = world.time
+ original_size = H.size_multiplier
+ H.resize(1, ignore_prefs = FALSE) //In case someone else tries to put it on you.
+ H.visible_message("The space around [H] distorts as they change size!","The space around you distorts as you change size!")
+ log_admin("Admin [key_name(M)]'s size was altered by a bluespace bracelet.")
+
+/obj/item/clothing/gloves/bluespace/mob_can_unequip(mob/M, gloves, disable_warning = 0)
+ . = ..()
+ if(. && ishuman(M) && original_size)
+ var/mob/living/carbon/human/H = M
+ if(!H.resizable)
+ return
+ last_activated = world.time
+ H.resize(original_size, ignore_prefs = FALSE)
+ original_size = null
+ H.visible_message("The space around [H] distorts as they return to their original size!","The space around you distorts as you return to your original size!")
+ log_admin("Admin [key_name(M)]'s size was altered by a bluespace bracelet.")
+ to_chat(M, "\The [src] flickers. It is now recharging and will be ready again in thirty seconds.")
+
//Same as Nanotrasen Security Uniforms
/obj/item/clothing/under/ert
armor = list(melee = 5, bullet = 10, laser = 10, energy = 5, bomb = 5, bio = 0, rad = 0)
diff --git a/code/modules/economy/vending_machines_vr.dm b/code/modules/economy/vending_machines_vr.dm
index d087423497..d5420d2000 100644
--- a/code/modules/economy/vending_machines_vr.dm
+++ b/code/modules/economy/vending_machines_vr.dm
@@ -1043,7 +1043,8 @@
/obj/item/device/walkpod = 5,
/obj/item/device/juke_remote = 1,
/obj/item/instrument/piano_synth/headphones = 2, // You're making a subsystem do work, I don't want it TOO busy
- /obj/item/instrument/piano_synth/headphones/spacepods = 2)
+ /obj/item/instrument/piano_synth/headphones/spacepods = 2,
+ /obj/item/clothing/gloves/bluespace = 5)
prices = list(/obj/item/clothing/suit/circuitry = 100,
/obj/item/clothing/head/circuitry = 100,
/obj/item/clothing/shoes/circuitry = 100,
@@ -1067,7 +1068,8 @@
/obj/item/device/walkpod = 300,
/obj/item/device/juke_remote = 1000,
/obj/item/instrument/piano_synth/headphones = 200,
- /obj/item/instrument/piano_synth/headphones/spacepods = 600)
+ /obj/item/instrument/piano_synth/headphones/spacepods = 600,
+ /obj/item/clothing/gloves/bluespace = 500)
premium = list(/obj/item/device/perfect_tele/one_beacon = 1)
contraband = list(/obj/item/weapon/disk/nifsoft/compliance = 1)
diff --git a/code/modules/vore/resizing/sizegun_vr.dm b/code/modules/vore/resizing/sizegun_vr.dm
index efd27d30dd..9d2b73d7cb 100644
--- a/code/modules/vore/resizing/sizegun_vr.dm
+++ b/code/modules/vore/resizing/sizegun_vr.dm
@@ -102,8 +102,12 @@
/obj/item/projectile/beam/sizelaser/on_hit(var/atom/target)
var/mob/living/M = target
var/ignoring_prefs = (target == firer ? TRUE : FALSE) // Resizing yourself
-
if(istype(M))
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ if(istype(H.gloves, /obj/item/clothing/gloves/bluespace))
+ M.visible_message("\The [H]'s bracelet flashes and absorbs the beam!","Your bracelet flashes and absorbs the beam!")
+ return
if(!M.resize(set_size, uncapped = M.has_large_resize_bounds(), ignore_prefs = ignoring_prefs))
to_chat(M, "The beam fires into your body, changing your size!")
M.updateicon()
diff --git a/icons/inventory/accessory/item_vr.dmi b/icons/inventory/accessory/item_vr.dmi
index c39fad3292..2f4624f1cf 100644
Binary files a/icons/inventory/accessory/item_vr.dmi and b/icons/inventory/accessory/item_vr.dmi differ