I’ve been doing a refactor of wall stick for my own project, in part to test out some luau script analysis workflow hacks, but mainly to make sure It degrades gracefully when it breaks after Roblox updates. And VR support.
For what wall stick does, it seems like singletons would do the job and it’s using class instances maybe just out of habit. It’s not too far from being able to run multiple wall stick instances, so I left it that way instead of taking some singleton shortcuts with the refactor.
Having it work for NPCs might be trivial in some cases, but I’m not sure that would hold up well if you need your NPCs to do pathfinding, because the rotated physics world will need to include the entire area that needs to be navigated, so you would either need a larger area, or you would need to have NPC waypoints fairly close together.
Also with the physics world constantly changing, I’m not sure when or even if a navigation mesh for it would be generated.
What do you want your NPCs to do? If they aren’t walking around, you don’t need most of wall stick