Random Object Array

by ARTunchained in Scripts and Addons

Random Object Array


ROA is now on "Feature Freeze" - that means from now on only bug fixes and maintance updates will be provided to ensure the Addon will keep on working as it should with current and future Blender releases. There were a number of reasons that have lead to this descision, the huge amount of features that are already implemented and need to be maintained (each new feature needs to play nicely with the existing ones) as well as changes in my Freelancing Business. Rest assured that I will keep on maintaining ROA, provide Customer Support and try to fix bugs that are reported. And even personally I continue to use ROA myself in my daily Blender tasks because I like working with instances and randomization (and I'm still not a fan of the particle system for these problems). 

Blender 2.80 Upgrade Status:

I will post the upgrade status of all my Blendermarket add-ons here, please come primarily to this page and/or the docs of ROA to view details about your most favourite add-ons. 

  • "To All" (micro add-on) - Tested and working with current 2.80
  • "ROA" - Is surprisingly compatible with 2.8 as off now for the most parts. Details below
  • "UE4EH" - Check the UE4EH page for more updates
  • "Blender Proxy" - Not working in 2.8, fixing attempts yet unsuccessfull and low in priority (being a freebie).

If you find additional issues that aren't listed here yet, please email to me, include as much info and preferable screenshots as possible. Thank you for helping to bring our add-ons to 2.80!

Please DO NOT email me for complaining that "feature X" doesn't yet work with 2.8 - just use a copy of 2.79 if you really need it right now. 

0.8.3 alpha

  • Multiple fixes on the "Pick from Group" option, yet it will need more changes to make it work (if you test it you'll see). This will take more time but is also a chance to make ROA incorporate Collections better.


  • Fixed AABB-Collision Detection not working in 2.8

0.8.1 release (a little bit beta still)

Fixed for 2.8 huge shoutout & thanks to Emanuel Rumpf for contributing the fixes and providing a running 2.8 version of ROA. This means a giant step forward in the whole process, Emanuel managed to solve the biggest issues with 2.8-compatibility, I'm very positive that we'll get 95%-100% of previous functions to work again.

I've just started testing what works and what not. Most functions work exactly as before (and with even higher performance), with the exceptions below.

  • "Mirror" non-functional
  • "Target Mesh" non-functional
  • Pick From Group not working

Will be testing further and see what we can fix asap. If you find issues not listed here, please provide feedback.

0.7.7 release
(Feature  image was made entirely with ROA 0.7.7 and Blender Proxy.  10.000 Objects, 30 Mio Polygons)

Random Object Array has been heavily developed in the past years. It has become a very versatile and stable tool, not only as an “array modifier replacement with random options”, but as an add-on for everyday use when it comes to working with instances. Together with Blender Proxy, Random Object Array will help you to exceed the current limits of both your GPU memory as well as Blender’s viewport. I also strive to make both scripts as user friendly and non-destructive as possible. Random Object Array by now has lots of options, not all of them are presented here on this product page. Take your time before you buy, watch my videos or read the (yet incomplete) documentation. If you’re unsure about an option, feel free to ask in the comments.


Years ago I proposed on Blenderstorm to add random values to the array modifier. It never happened. I was tired of tweaking a particle system for an hour, just to realise that the desired result cannot be made that way. That’s the reason I created the Random Object Array add-on. Random Object Array allows you to create all kinds of object arrays that need some randomization like plants, roof tiles, cobblestone, walls, etc. using a very quick workflow without having to use a particle system. And there’s even more.

Intuitive Workflow

It is not a modifier, but it offers an intuitive and fast workflow to distribute objects with random offset, rotation and scale, within seconds. Values like offset or rotation represent what you as an artist would think they do. It works like up to 3 Blender Array Modifiers chained together, meaning it can created duplicates in up to 3 dimensions. It has lots of useful option that are mostly self-explanatory. Have a look into the documentation or the feature video to see all options explained.

More Control

Whenever someone asked “random” in Blender the answer was always “particle system”. That’s not because the particle system was made for every “random” situation, but because it was the only option. A particle system is great for hair, particles, fur, even grass. But it can become an obstacle for other purposes. Compared to a particle system, the Random Object Array add-on offers much more control over random values like rotation, position, scale. It’s fast and stable for all kinds of objects, not only meshes but also lamps, cameras and group instances. The values aim to represent what you are used to, opposed to the rather obscure values of a particle system. Forget about what “brownian” does or if your “size” value should be either 0.001 or 0.002.

Clone on Meshes

One of the great features is the ability to clone your objects to a mesh’s faces. Again the use cases are mostly self-explanatory: Use the “Target Mesh” option to distribute plants on a terrain, needles or leaves on a branch or tiles on a space ship. New! ROA can now also clone to the points of a faceless mesh, like a converted curve.

Free updates

If you buy Random Object Array on cgcookiemarkets.com you will receive every update of this addon for free.

Lots of Features

ROA has become quite a deep tool, the list of features includes:

  • loading / saving per object

  • realtime preview, autoload & autosave - modifier like behaviour of the Add-on

  • randomized shape keys. new: objects with shape keys can now be joined into a single mesh

  • cloning as instances, real copies or single mesh

  • constant and random offset and rotation, random scale

  • cumulate rotation and scale

  • target mesh mode, clone to faces, points or with a curve modifier

  • grid mode

  • relative (per object scale) offset

  • 3 collision detection modes

  • picking source objects from a group with adjustable count for each group object

  • new: Row offset for grid mode
  • new: Fully controllable stepwise rotation

See more features in the documentation, the videos and the changelog.


Currently I’m recording the “ROA Complete tutorial”, you will find all parts here or on my youtube channel:

Part 1: http://youtu.be/ugaEllRttAk

Part one is a generic introduction, talking about the most basic things in ROA

Part 2: http://youtu.be/rTUSH4v7BU4

In part two we will work with group instaces, target meshes and find a way not to run into the object count limit too quickly

Part 3: http://youtu.be/Vc8-H9y3k5U

In part three we will have a look at relative offset, picking from group, AABB collision, some prerequisits and also talk about the limits of ROA

See more parts in the documentation!

Now bundled with Blender Proxy

Blender Proxy is an open source add-on I’m currently developing. It’s the perfect addition to Random Object Array and helps you with instanciating lowpoly to highpoly objects for a super fast workflow in the viewport while rendering literally billions of polygons in Cycles. Blender Proxy comes now bundled with Random Object Array.