BUILD LEVELS: …with wiggling corridors, odd-shaped rooms, no constraints! (no grid!)
AI/Enemy scripting: … all the info is available to your scripts (e.g. I made a procedural dungeon this way, and the AI uses the snapping-information to navigate around the dungeon at runtime)
Vehicle/building construction: place sockets on a car-prefab’s axles, and “snap” wheels of different sizes, shapes. Put sockets on front and sides of a building-prefab, and “snap” different doors, windows, etc
City-building: snap some buildings together to make a block, then snap blocks together to make a city
Usage:
Drag/drop within the editor
Drag/drop in your game (requires you to write your own scripts that connect your game-controls to the API)
Yeah - I need it myself for one of my own projects, ASAP :). So I’m very keen to add this.
BUT … how soon it happens will depend on how many people use the first version, and how much they like it. It’s only a small asset, but it took me months (!) to get right. If it only gets a small amount of use then I’ll be focussing my time on supporting the existing version rather than adding major new features.
I am in the process of making houses with snap together parts so I can customize them easily before putting in the game. This would be very useful. A grid is great but snapping a roof to a house base would be easier with sockets. So I will seriously consider buying this even without the run-time feature. However, it would be nice if a player could put together the parts in the game or exchange a thatch roof for a tiled roof, etc. I can see all sorts of cool ways to play with this.
I am passing this on to some of my multiplayer developer friends to see if they might also be interested. I think you could find a market out there.
This tool is nice, but what makes it amazing is when you’ve configured intelligent Sockets for each model.
So … I’m working with some asset-authors to do special versions of their model packs which are pre-configured with the relevant Sockets.
If anyone has an assetpack (buildings, dungeons, etc) that they’d like to upgrade, please get in touch directly (@t_machine_org). My aim is that you publish your upgraded pack as a separate AssetStore asset - it’s more useful to purchasers, BUT it requires that people already have this Editor Extension (so it’s something you’d want up “in addition to” the simple model packs)
… There’s also a tutorial on writing your own custom Renderers to draw odd-shaped sockets: Scripting – Snap and Plug
Have a look - it’s actually easier to work out in practice, as everything is context-sensitive, but hopefully the tutorials give a good idea of what you have to do. Questions welcome!
Question, I read your website and am confused about something. It says you an add a SnapSocket to an object that has no other SnapSocket attached. Does this mean you can’t add two to an object? If so, it seems you could not make a dungeon that has halls that go in different directions. The entire dungeon would be a line of joined rooms. Is this correct?
I had hoped to use this to join pieces of buildings together but I would need to join more than one part to each building pieces.
To prepare for runtime sockets later, it works like this:
(your object) - various components, including ONE SnapPiece
|
±-- A gameobject with ONE SnapSocket
±-- A gameobject with ONE SnapSocket
±-- A gameobject with ONE SnapSocket
… i.e. each SnapSocket is on its own gameobject, BUT … you have a bunch of those gameobjects parented to “whichever gameobject has the SnapPiece”.
Originally, I had it that all the SnapSockets were data hiding inside the SnapPiece, using a custom Inspector to view/edit them. But for runtime, that would be terrible :). So I moved it to this setup.
As a bonus, you can use all the standard Unity mouse/keyboard shortcuts for moving and positioning your SnapSockets on your model/mesh/whatever.
A base house, first floor with a snap piece on top. A second piece with a beams and a loft that snaps to the top of the house. Then a third piece, a roof, that sits on top of the beams and snaps. In this case, each piece would be connected in a vertical sequence. Now, could I add a second snapped object to the front of the base house? Like a porch? It would require a second snap slot.
In this scenario, the base house would snap to an object on top, and an object on the side, so two objects, two different snaps.
Am I making sense? I want to be able to put together modular pieces to build houses/buildings that don’t all look exactly alike but saving on modeling.