A node based procedural and infinite game map generator. Can create a playable and nice-looking terrain of any size in a couple of minutes with the help of graph and nodes workflow. Also supports creating endless maps by generating new terrains in playmode. Additional modules can place object, biomes and roads.
Documentation | Video Tutorials | Discord | Forum Thread
Each node on a graph represents a terrain or object generator: noise, voronoi, blend, curve, erosion, etc. Once the nodes are connected the magic happens: a game map will be created without any human involvement.
No need for painstaking work sculpting and drawing vast terrains, placing thousands of objects, painting fields of grass: just give your orders to the plugin in the form of a node graph and it will create a map automagically!
MapMagic 2 has additional modules that extend it's features:
- MapMagic 2: Objects turns MM2 from terrain tool to a full-scale auto world creator;
- MapMagic 2: Splines adds the possibility to create roads and rivers;
- MapMagic 2: Biomes and Functions sub-graph nodes. Biomes offer blending several graphs in one scene, and Function brings out some graph functionality into a separate one.
Has special nodes to work with (however due to irrespective eventual asset changes and variety of features and modules 100% compatibility is not guaranteed): CTS, MegaSplat, MicroSplat, Vegetation Studio Pro. And in pinned (non-dynamic) mode: with all of the assets using standard Unity terrains.
The asset comes with the full source code.
2.1.19
New features:
- Transition node: like Position node + set rotation and scale + move it with gizmo in scene view + expose these values.
- Distort node: offset map pixels of using X and Z direction masks.
Bug fixes:
- Fixed preview not showing on some URP setups
- Fixed Simple Form generated epsilon value at the edge
- Fixed exposing: noise type, tree output parameters, object output params, rarefy node values
- Comments remove fix
Improvements:
- Faster initial object spawn
- Spline Interlink - Max Distance parameter. Prevents interlinking of far objectects
2.1.18
Bug fixes:
- Unity 6000.2 compatibility
- Fix generating performed when infinite mode off (but limited on)
- Fix color picker not opening in Unity 6000.1 or later
- Nullref when changing graph seed if graph has empty portal
- Fixed Unity Spline output positioning for non-zero tiles
Improvements:
- Generate tiles not only around one coordinate, but a list of coordinates
- Generate tiles around a list of objects, not just tag
- onGenInstantiated action in Generator.Create to provide layers constructor
- Selector From, To and Transition values are now exposable
2.1.17
Bug fixes:
- Graph serialization (loading) fix
- Error on generating draft-only tile fixed
- Terrain had only one texture channel in build fix
- Duplicate scripts removed
- Class not found on exporting package fixed
2.1.16
Improvements:
- Comments sticky notes
- Biomes in BiomeSet now can read their mask
- Align To Ground and Position Jitter features support for grass
- Graph performance improvement when dragging node by fixing undo recording
Bug fixes:
- Fixed moving nested group along with parent group
- Copy-Paste of selected nodes with Ctrl-C Ctrl-V fixed
- Lock with relative height not working when MM object has an offset fix
- Lock not working when terrain and grass output prototypes don't match fix
- Improper portal copy fix
- Fixed Objects Mask node creates objects when mask is 0 from time to time
- MicroSplat compatibility fix: did not assigned terrain layers due to MS version change
2.1.15
New node:
- Unity Splines package output - exports generated result to native package splines (enable in Window/MapMagic/Settings)
Improvement:
- Non-uniform Simple Form - allows creating non-square initial shapes
Bug fixes:
- Fixed trees becoming white on SRP
- Fixed splines preview positioning
- Megasplat error on layer add fixed
2.1.14
Improvements:
- Pathfinding node now can weld endpoints to fix roads at different levels
- Exposed Scatter Mode for Grass output to fix empty grass in URP
- Nodes have Help link in right click - Generator to view documentation pages
- Unity's new Affect Density Scale support (MM object - grass settings)
Bug Fixes:
- Grass not appearing in builds fix
- NullRef exception fix when disconnecting nodes in graphs using functions
2.1.13
New Nodes:
- Adjust node for Splines
Improvements:
- Spline Scatter node sets spline direction for objects
- Move node can move objects along object directions
- Added support for PreserveTreePrototypeLayers
Bug fixes:
- Generate around tag fixed
2.1.12
New Nodes:
- Terrain Holes Output generator
- Splines module: Scatter node (places objects along spline)
Other Features:
- Open generator codes with right click
- Graph.GetGeneratorById method that simplifies changing nodes parameters with scripts
Bug fixes:
- New node update system designed to work with Clusters
- All Spline nodes: fixed incorrect line length calculation when tangents and points form a single line
- Clearing terrain on node disconnect fix
- Warning dialog on switching grass instancing with improper grass type
- Fix Objects Preview showed a bit incorrect height because margins were not taken into account
- Checking render pipeline name when assigning preview shader
2.1.11
Bug Fixes:
- Crash on Spline Stamp fix
- "Not Assigned" display fix (when graph is actually assigned)
- "Property _Rect already exists" error fix
- Graph window resize issue fix
- Fixed error when no camera in scene
New features:
- Objects Randomize node
- Objects Read by Tag node
2.1.10
Bug Fixes:
- Drag-n-drop graph to scene fix in Unity 2021.2
- Native code on Mac fix
Performance improvements:
- Improved non-assigned graph drawing performance in complex scenes
- MicroSplat texture fetch for icons improved
New Unity features support: Use Instancing for grass
2.1.9
Bug fixes:
- Erosion welding in playmode fix
- Objects nodes Adjust, Flatten and Spread values made exposable
- Split node same random ID fix (made object output multi-prefab not working)
- Brush placed object at zero when terrain has offset - fixed
- Whittaker Intensity value didn't work - fixed
- MicroSplat output error report fix
2.1.8
Unity 2021.2 beta compatibility
New feature: Safe Borders object generator
Bug fixes:
- Direct Texture/Matrix outputs now return textures/matrices without margins
- Loading Brush graphs in Finnish locale
- Whittaker node can now be used in biome
- Some Whittaker performance improvements
- Fixed Splats/Both for MicroSplat output
2.1.7
New features:
- Combine splines node
- Random node now has a mask input
- Number of objects per iteration variable exposed in Objects output
Bug fixes:
- Direct Matrices/Textures disconnect when zooming out fix
- Clamping Whittaker inputs to 0-1 range
- Unnecessary assembles removed from compatibility asmdef list
- Infinite loop protection on Whittaker sub-biome
- Create graph button on new MapMagic object fix
2.1.6
New features:
- Direct Textures and Direct Matrices
- Erosion blur for softer results
Bug fixes:
- Skipping tile from time to time (flat terrain) fixed
- New output clearing system on output remove/disable
- MicroSplat channel re-use in biomes fix
- GUI icons compression settings
- VS Pro demo scene fix
2.1.5
New features:
- Details/Grass resolution downscale on output
- MicroSplat control maps weld on main tiles
Bug fixes:
- MicroSplat 3.8.2 compatibility (separate assembles)
- Stamp node values expose
- Whittaker node outputs fix
- Whittaker demo scene included
- VSProTile script rename to match monobehavior
2.1.4
Bug fixes:
- Seed serialization fix
- Lock transition fix
- MicroSplat output >16 channels fix
Other: Constant (level) preset added to Brush
2.1.3
Brush module compatibility
Bug fixes:
- Portal selector now gives a list of only it's type
- Import node re-scale error fix
- Forest node other trees fix
- Shader warning fix
2.1.2
Bug fixes:
- Move locked tiles fix
- Trees were not locked in some cases - fixed
- Lock generated hige platform - fixed
- MicroSplat + layers fix
- VS Pro mask group fix
- Import node offset fix
- Lock trees fix
- Fix on removing Naturemanifacture assets
- Rarefy GUI fix
- Grass not switching to VertexLit on already existing terrain fix
2.1.1
Import, function and VS Pro fixes
2.1.0
New features:
- Brush module compatibility;
- New Expose/Override system;
- Scheme view;
- Pinned terrain data now could be saved as a regular terrain;
- Nodes copy and paste;
- Search bar in right-click menu;
- MicroSplat compatibility improvements: can output standard splat data along with MS control textures; assign descriptor data to support terrain blending;
- Performance improvements: height, textures and grass import/export moved to native code;
New nodes:
- MapSet generators (for Brush modules);
- Parallax node;
- Beach node;
- Ledge node;
- Sediment node;
- Directions node, aka 'Normals' node;
- Spot node;
Bug fixes:
- Internal functions inside biomes and biomes inside functions fix;
- Seams on Import node fix;
- Height Output clamps values between 0 and 1;
- Scatter node additional margins fix (now spread in all directions);
- Non-100% Screen DPI fixes (preview and toolbar);
- Tools assembly renamed to avoid conflicts with possible project internal assembly with same name;
2.0.8
Core version code included to prevent modules version incompatibility issues.
New features:
- Additional margins added to Scatter
- New demo graphs for Objects module: MinuteIsland Objects and Villages
Bug fixes:
- Spline nodes inputs/outputs fix
- Object nodes add/remove button not visible fix
- Multiple node moving fix
- Added warning to node setups that can cause seams
- Fixed lock on negative tiles
- Objects Random node input remove
- Objects Random, Position, Mask icons
- GUI field negative value dragging improvement
- Delayed GUI fields now apply value on loosing focus
- Map preview with > 4 textures fix
- Draft not displayed when preview is on
2.0.7
New features:
- Vegetation Studio Pro new apply type - with copy component.
Bug fixes:
- Fix build for Windows x86 with native code
- Fixed non-critical errors on build with pro skin
- Fixed right-click menu colors with pro skin
- Lock fixes for MM object with offset
- Terrain tiles pool fix
- Tile seam welding fix
2.0.6
Will change the spline nodes (still beta) produced results!
Bug fixes:
- Height Output interpolation fixed
- Un-check Infinite Generate stops generate tiles in playmode
- Removing output node -> Clear didn't work, error in some cases, fixed
- Object Output Regard Prefab scale didn't work, fixed
- Grass Output offset the grass 1 pixel, fixed
- Fixed the issue when distant tiles (over 10000 units) were not selected with frame
- Objects preview background was black, fixed
- When group was resized it moved in some cases, fixed
- Gauge displayed complete while height was applying, fixed
- Was constantly re-generating when curve node was selected with mouse, fixed
- MicroSplat null reference exception when texture removed fix
- VSPro grass green, blue, alpha channels fix
- VSPro trees work fine now when MM object height != 0
Minor Features:
- Grass Resolution per patch exposed in Grass Output settings
- Terrain Base Map Resolution now could be changed in Terrain Settings
- Dragged tiles pin/unpin frame now resets by Esc or right-click
- Values for Selector (MinMax mode), Levels and Unity Curve nodes are now could be exposed
...