diff --git a/code/game/objects/effects/landmarks_poi_vr.dm b/code/game/objects/effects/landmarks_poi_vr.dm
new file mode 100644
index 00000000000..a26a809feb1
--- /dev/null
+++ b/code/game/objects/effects/landmarks_poi_vr.dm
@@ -0,0 +1,71 @@
+var/global/list/global_used_pois = list()
+
+
+
+/obj/effect/landmark/poi_loader
+ name = "PoI Loader"
+ var/size_x
+ var/size_y
+ var/poi_type = null
+ var/remove_from_pool = TRUE
+
+/obj/effect/landmark/poi_loader/New()
+INITIALIZE_IMMEDIATE(/obj/effect/landmark/poi_loader)
+
+/obj/effect/landmark/poi_loader/Initialize()
+ src.load_poi()
+ return ..()
+
+/obj/effect/landmark/poi_loader/proc/get_turfs_to_clean()
+ return block(locate(src.x, src.y, src.z), locate((src.x + size_x - 1), (src.y + size_y - 1), src.z))
+
+/obj/effect/landmark/poi_loader/proc/annihilate_bounds()
+ var/deleted_atoms = 0
+ //admin_notice("Annihilating objects in poi loading location.", R_DEBUG)
+ var/list/turfs_to_clean = get_turfs_to_clean()
+ if(turfs_to_clean.len)
+ for(var/x in 1 to 2) // Requires two passes to get everything.
+ for(var/turf/T in turfs_to_clean)
+ for(var/atom/movable/AM in T)
+ ++deleted_atoms
+ qdel(AM)
+ //admin_notice("Annihilated [deleted_atoms] objects.", R_DEBUG)
+
+/obj/effect/landmark/poi_loader/proc/load_poi()
+ var/turf/T = get_turf(src)
+ if(!isturf(T))
+ to_world_log("[log_info_line(src)] not on a turf! Cannot place poi template.")
+ return
+
+ // Choose a poi
+ if(!poi_type)
+ return
+
+ if(!(global_used_pois.len) || !(global_used_pois[poi_type]))
+ global_used_pois[poi_type] = list()
+ var/list/poi_list = global_used_pois[poi_type]
+ for(var/map in SSmapping.map_templates)
+ var/template = SSmapping.map_templates[map]
+ if(istype(template, poi_type))
+ poi_list += template
+
+ var/datum/map_template/template_to_use = null
+
+ if(!(global_used_pois[poi_type].len))
+ return
+ else
+ template_to_use = pick(global_used_pois[poi_type])
+
+ if(!template_to_use)
+ return
+
+ //admin_notice("Chosen Predefined PoI Map: [chosen_type.name]", R_DEBUG)
+
+ if(remove_from_pool)
+ global_used_pois[poi_type] -= template_to_use
+
+ // Annihilate movable atoms
+ annihilate_bounds()
+ //CHECK_TICK //Don't let anything else happen for now
+ // Actually load it
+ template_to_use.load(T)
\ No newline at end of file
diff --git a/maps/groundbase/groundbase_defines.dm b/maps/groundbase/groundbase_defines.dm
index 07779fe5480..4f3fedd2aa6 100644
--- a/maps/groundbase/groundbase_defines.dm
+++ b/maps/groundbase/groundbase_defines.dm
@@ -497,9 +497,10 @@
associated_map_datum = /datum/map_z_level/gb_lateload/gb_south_wilds
/datum/map_template/gb_lateload/wilds/south/type3/on_map_loaded(z)
. = ..()
- seed_submaps(list(Z_LEVEL_GB_WILD_S), 6, /area/submap/groundbase/poi/wildvillage/plot/square, /datum/map_template/groundbase/wildvillage/square) //POI seeding
- seed_submaps(list(Z_LEVEL_GB_WILD_S), 2, /area/submap/groundbase/poi/wildvillage/plot/wide, /datum/map_template/groundbase/wildvillage/wide)
- seed_submaps(list(Z_LEVEL_GB_WILD_S), 1, /area/submap/groundbase/poi/wildvillage/plot/long, /datum/map_template/groundbase/wildvillage/long)
+ // Using landmarks for this now.
+ //seed_submaps(list(Z_LEVEL_GB_WILD_S), 6, /area/submap/groundbase/poi/wildvillage/plot/square, /datum/map_template/groundbase/wildvillage/square) //POI seeding
+ //seed_submaps(list(Z_LEVEL_GB_WILD_S), 2, /area/submap/groundbase/poi/wildvillage/plot/wide, /datum/map_template/groundbase/wildvillage/wide)
+ //seed_submaps(list(Z_LEVEL_GB_WILD_S), 1, /area/submap/groundbase/poi/wildvillage/plot/long, /datum/map_template/groundbase/wildvillage/long)
/datum/map_template/gb_lateload/wilds/east/type1
name = "Eastern Wilds 1"
diff --git a/maps/groundbase/groundbase_poi_stuff.dm b/maps/groundbase/groundbase_poi_stuff.dm
index 06b8f6cdb0c..c2ff36f9bc8 100644
--- a/maps/groundbase/groundbase_poi_stuff.dm
+++ b/maps/groundbase/groundbase_poi_stuff.dm
@@ -885,7 +885,7 @@
name = "Cave 49"
mappath = 'pois/cave49c.dmm'
-/datum/map_template/groundbase/maintcaves/cavething
+/datum/map_template/groundbase/maintcaves/cavething
name = "Cavething 1"
mappath = 'pois/cavething1.dmm'
cost = 10
@@ -939,6 +939,26 @@
cost = 3
allow_duplicates = FALSE
+
+/obj/effect/landmark/poi_loader/gb_square
+ name = "Square House Loader"
+ size_x = 12
+ size_y = 12
+ poi_type = /datum/map_template/groundbase/wildvillage/square
+
+/obj/effect/landmark/poi_loader/gb_wide
+ name = "Wide House Loader"
+ size_x = 17
+ size_y = 12
+ poi_type = /datum/map_template/groundbase/wildvillage/wide
+
+/obj/effect/landmark/poi_loader/gb_long
+ name = "Long House Loader"
+ size_x = 17
+ size_y = 24
+ poi_type = /datum/map_template/groundbase/wildvillage/long
+
+
/area/submap/groundbase/poi/wildvillage
name = "POI - Wilderness Village"
icon = 'icons/turf/areas_vr.dmi'
diff --git a/maps/groundbase/southwilds/southwilds3.dmm b/maps/groundbase/southwilds/southwilds3.dmm
index 971ee359759..14ee56a7172 100644
--- a/maps/groundbase/southwilds/southwilds3.dmm
+++ b/maps/groundbase/southwilds/southwilds3.dmm
@@ -2,9 +2,21 @@
"a" = (
/turf/unsimulated/wall/planetary/virgo3c,
/area/submap/groundbase/wilderness/south)
+"b" = (
+/obj/effect/landmark/poi_loader/gb_square,
+/turf/simulated/floor/outdoors/grass/virgo3c,
+/area/submap/groundbase/poi/wildvillage/plot/square)
"c" = (
/turf/simulated/mineral/cave/virgo3c,
/area/submap/groundbase/wilderness/south/cave)
+"d" = (
+/obj/effect/landmark/poi_loader/gb_wide,
+/turf/simulated/floor/outdoors/grass/virgo3c,
+/area/submap/groundbase/poi/wildvillage/plot/wide)
+"e" = (
+/obj/effect/landmark/poi_loader/gb_long,
+/turf/simulated/floor/outdoors/grass/virgo3c,
+/area/submap/groundbase/poi/wildvillage/plot/long)
"f" = (
/turf/simulated/floor/outdoors/grass/forest/virgo3c,
/area/submap/groundbase/poi/wildvillage/plot/square)
@@ -7243,7 +7255,7 @@ F
F
F
F
-F
+b
v
F
F
@@ -7256,7 +7268,7 @@ F
F
F
F
-F
+b
v
F
F
@@ -7269,7 +7281,7 @@ F
F
F
F
-F
+b
v
O
O
@@ -9083,7 +9095,7 @@ E
E
E
E
-E
+d
v
n
n
@@ -9108,7 +9120,7 @@ n
n
n
n
-n
+e
v
E
E
@@ -9121,7 +9133,7 @@ E
E
E
E
-E
+d
v
A
A
@@ -11645,7 +11657,7 @@ F
F
F
F
-F
+b
v
F
F
@@ -11658,7 +11670,7 @@ F
F
F
F
-F
+b
v
F
F
@@ -11671,7 +11683,7 @@ F
F
F
F
-F
+b
v
w
O
diff --git a/vorestation.dme b/vorestation.dme
index 447395c31ee..42cb2c92ed1 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -1093,6 +1093,7 @@
#include "code\game\objects\effects\item_pickup_ghost.dm"
#include "code\game\objects\effects\job_start_landmarks.dm"
#include "code\game\objects\effects\landmarks.dm"
+#include "code\game\objects\effects\landmarks_poi_vr.dm"
#include "code\game\objects\effects\landmarks_vr.dm"
#include "code\game\objects\effects\manifest.dm"
#include "code\game\objects\effects\mines.dm"