
Here, I work on the logic in order to spawn the drawings on a wall in a way that randomises their position every time the game starts. The node setup is intentionally minimal right now – just working with a simple loop system that handles drawing spawns based on player interaction. The Event BeginPlay triggers a sequence that feeds into a drawing manager, keeping the system modular and clean.

I wrestled with that sphere overlap system in the event graph above, and had to scrap it despite promising debug results. The idea was solid – using sphere traces to prevent drawings from spawning too close together or overlapping. In debug mode it looked perfect, those blue spheres clearly showing valid spawn points and overlap detection working as intended. I wanted to have the drawings appear anywhere within the room, on any wall I wanted and within reach other player, but unfortunately I had to limit this.
Building on that initial spawn logic, I added proper array handling and some conditional checks, granting more control over how these drawings spawn in the space.

Working on the spawn positioning logic here – wanted more controlled randomisation for where these drawings appear. Set up a system using Random Float in Range nodes to generate semi-random but constrained positions on the wall surface. The drawing scale variable feeds into this too, making sure everything stays proportional regardless of spawn location.

Some basic debug textures here for the drawing spawn system – just numbers to test positioning and material application.

Here, I worked on implementing a system where each blueprint instance would pull a unique texture from the array, using box collisions as spawn volumes. I introduce array creation and management, and material instances, but things got a bit tangled.
Those Length nodes on the left are meant to track available textures in the array, with Contains checks to prevent duplicate assignments. The branching logic using Branch nodes attempted to validate whether a texture was already in use before assignment. Those print string nodes scattered throughout are basically me trying to track where the logic was breaking down, but I still have much more to learn and practise.
The Get Unique Material node at the start feeds into a series of array operations – see how the blue array pins connect through multiple validation steps before hitting the final material assignment. Those SET nodes were supposed to handle material parameter updates, but something in the validation chain was clearly breaking the flow.

The error seems to be within how UE handles code operations, with the meshes, array, array contents and blueprints spawning in at the same time or staggered at different intervals. This code should work in theory, and I’ve consulted multiple sources – I actually don’t even remember if the screenshot above is the one that should work or if I’ve tweaked it so much in frustration that it’s lost all prospective functionality! Anyway… Time to move onto something more productive for a bit.
