Passing bytes since 1988!

New codefarts website preview November 24, 2015

Been working off and on for a while now of refreshing the website to be responsive and look good on any screen size and across different browsers.

I thought I'd post some screenshots & video.

Back from picking October 1, 2015

I'm back from picking Matsutake. Unfortunatley it was a early and short season.

*Sigh* Were still a lot of mushrooms out there but unfortnatley circumstances being what they are the areas I pick and the way the industry is being run I'm really getting to the point where I just don't want to do it anymore, for various reasons.

I have also been looking through the asset store and think I have an idea for a new project that has not been addresed yet. Not sure I should start yet another new projet but it is tempting seeing as how there does not seem to be a solution availible.

Upcomming GridMapping v2.4.x release July 9, 2015

Hopefully soon I will be able to release v2.4.x of my Grid Mapping project. v2.4.x will include a new layering system that supports plugins so that developers can create there own methods for managing how they want to organize there layers.

Unfortunatley I have come across some unforseen problems. For the most part the new layering system is done but needs further testing. During some recent tests I discovered an issue regarding Undo & Redo, particularly with the unity editor API's. The unity editor API's for undo and redo are not very good at all at providing detailed information as to what exactly was undone or redone. For example I don't know of any way to track what objects were deleted but then restored via "Edit->Undo".

This creates problems with the new layering system where the layering plugins that track game objects can get out of sync. I'll give you an example with the Pencil tool. Draw three cubes in a row, then erase the middle cube with the pencil tool by right clicking on it. Now click "Edit->Undo" and the middle cube that was erased should be restored. Here in lies the problem. The layering plugins who were tracking the creation of all three cubes, and the deletion of the second cube does not know that the second cube has been restored via Undo. Worse then that unity to my knoledge does not provide a way to report what objects or actions were undone. So the map shows all three cubes but the layering plugin thinks that there is only two cubes drawn on the map.

This has led me to consider making a custom undo, redo system specifically for GridMapping, or perhaps a undo/redo system that can stand on it's own. This will allow me to get detailed information about what exatly is being undon/redone but if the user uses the unity Undo system via "Edit->Undo" there can still be issues that arrise.

See the project page at for current features and documentation.

[template LargePaidTile,/GridMapping/,/Content/Images/LargeTiles/CBX.GridMappingLargeTile.png, Grid Mapping,10]

Unavailible until july give or take May 18, 2015

Just a head up I will be traveling out of to town to pick Morel Mushrooms this week and will not be back until late June or early July depending on the season.

Unfortunatley I will be 200km out in the middle of nowhere with no cell or internet service so I will be incommunicado for a few weeks. Sorry for any inconvienince this may cause you in terms of technical support.

GridMapping v2.4 is activly being worked on and I have already implemented a new plugin based layer managment system, but I still need to finalize and test it for stability. You can expect v2.4 to be released some time in July 2015.

GridMapping v2.3.8 is now live May 5, 2015

A updated version of Grid Mapping is availible on the unity asset store!

See the project page at for features and documentation.

[template LargePaidTile,/GridMapping/,/Content/Images/LargeTiles/CBX.GridMappingLargeTile.png, Grid Mapping,10]

v2.3.8 - May 2, 2015

  • Completed - Updated code to succssfully compile under Standalone Windows (x86, x86_x64), Standalone Mac OS X (x86, x86_x64, Universal), Linux (x86, x86_x64, x86 + x86_x64 Universal), iOS, Android, WebPlayer, Blackberry, WebGL, Windows Store (8.0, 8.1, Phone 8.1, Universal 8.1), Windows Phone 8. *With no console warnings or errors*
  • Completed - Refactored code & moved unity editor specific code to the editor specific code folders and projects to clean up the code and reduce potential compile problems.

GridMapping v2.3.7 is now live April 14, 2015

A updated version of Grid Mapping is availible on the unity asset store!

See the project page at for features and documentation.

[template LargePaidTile,/GridMapping/,/Content/Images/LargeTiles/CBX.GridMappingLargeTile.png, Grid Mapping,10]

v2.3.7 Change Log

  • Completed - Updated materials and assets to use new Unity5 assets and shaders etc.
  • Completed - Fixed a bug when opening previously saved scenes and selecting the map object where the internal array lengths would not match.
  • Completed - Additional optimizations.
  • Completed - Fixed bug in GridMapEditor.OnDisable that would throw null reference exceptions.
  • Completed - Fixed bug with DrawRectangle & FillRectangle extension methods where a possible exception could be thrown if the prefab had no Renderer component on it.
  • Completed - Minor tweaks to the code to update to unity 5.
  • Completed - Updated readme.txt file.
  • Completed - Added menu item for opening help documentation "Window/Codefarts/OnlineDocumentation/Grid Mapping"

December 18 Updates December 18, 2014

Have not made any blog posts on this site for a while. I was up north picking Matsutake for a few months in the fall.

I have added CodefartsCore to the products page. CodefartsCode is the core set of code I use with all my unity projects and provides simple localization, settings, and a user feedback functionality.

UnityTesting has also had a few updates and is available on BitBucket at The current version is v0.3.0

UnityTesting Updates July 20, 2014

I have made a few more updates to the UnityTesting project to make it more user friendly.

In Development Previews July 19, 2014

I have started a new playlist on the Codefarts YouTube page titled "In Development Previews". This playlist will be where I post previews and progress on the various projects listed here on the codefarts website.

The fallowing three videos are from a new level editing project that is currnetly under development. It is a minecraft style project but unlike minecraft this map editor allows for blocks to be dynamically resized along the y axis. This video is simply a performance test. I recorded this on a Surface Pro 2 8Gb/256Gb tablet.

It is a project I have been meaning to work on for a few years now. It is still early stages and has gone through a number of trial an error phases but I am starting to make some progress.

Like Minecraft the map consists of stacked blocks that are 1x1 wide/thick. Unlike Minecraft each blocks height can be dynamically resized and are not set at a fixed height.

Maps are 128x128 and broken down onto chunks consisting of single meshes. Each chunk consists of 16x16 blocks.

Loading maps occurs asynchronously. The level editor is still under development so the asynchronous loading still needs to be smoothed out a bit more.

In this test the loading code is doing work for 3/4 of a second before allowing other updates to occur, resulting in low and stuttering response times. More work also need to be done to improve map loading performance.

The map seen in this video is from a 2001 game called Magestorm.

QuadMenu Preview 1 May 10, 2014

QuadMenu for unity is a simple hiarchical menu system. It uses interfaces for layout/animations and interfaces for visual components so you can add further functionality. Will be availible for Xna, Silverlight & Unity3D.

Fixed issue with submission form March 9, 2014

I did'nt catch a bug when I moved the site over to the new code base. The feedback form on the About Us page was not working. It should be working now, but the current code base for some projects on the Products page still use the old feedback api and will have to be updated as well.

I'm also going to have to integrate a custom captcha system that can be used within unity when providing feedback. I'm already starting to see a few spam messages being submitted through api.

API pages working with new code base February 26, 2014

Ok, so as usual all I did was fiddle fart around and really did'nt do or change anything to the new code base and voila, like magic it suddenly decides it's going to start working. /sigh

So as of this post the Codefarts website is running under a new code base, ... again. API pages like this one appear to be working as intended.

I've blogged about the related code changes on my other website at At the bottom of the post I made a note since I originally wrote the post back in march 2013 I have since written a entirely new (and more simplified) web server back end and have ported the local copy of my website over to it. I’ll be making future posts regarding this new system and the reasons why it is even better then the custom built MVC clone I described earlier in the post.

So with any luck the site will stay up and running until I need to make additional changes, and add additional features. Particularly some kind of commenting/forum system.

Site Updates Part Deux February 23, 2014

It was taking too long to figure out what was happening so I reverted back to the old code that was running the site. The SDK documentation pages should be back up and running.

I have a domain setup just for testing the site before going live on the codefarts domain but as usual I did not take advantage of it when I should have.

Site Updates February 21, 2014

The site may be down periotically I have changed code bases and as usual as soon as the new code touches the internet ... Armagedon. /sigh

Right now the api documentation pages are not working and throwing a server error. I'll be working to get them up and running asap.

Spooky updates from beyond the grave! OoohhOOohhh October 31, 2013

I have been back from mushroom picking for a while now but have yet to post a update. This is because I have been trying to rebuild and consolodate my various projects down to a single location.

I had 4 running copies of my projects. One on my laptop, one on my desktop, one on a usb key, and one on google drive. The laptop and desktop were google drive synced, but there seemed to be a issue with syncing. Specifically numerous files and folders were being duplicated with a "(1)" attached to the end of there names.

This was causing issues with my local git repositories and with unity. So I have been busy comparing projects to figure out which one has the most up to date copy and delete the other copies.

Other then that I have been working on a my Grid Mapping project and doing a little work on this website.

Going Shroom'in ... again! September 14, 2013

Unfortunately my various programming works don't yet earn me enough of an income to live on, so I have to generate the monies by other means. I'll be heading up north on the 20th of August to pick matsutake mushrooms until mid October or so.

As always I'll have my laptop with me but there is no real guarantee I'll have time to get any real work done. Rest assured when I return I'll be hard at work again on the various projects.

4 new projects! Plus more September 7, 2013

[template LargeFreeTile,/UnityTesting/,/Content/Images/LargeTiles/UnitytestingLargeTile.png, Unity Testing] [template LargePaidTile,/Input/,/Content/Images/LargeTiles/Joystick.png, Input,?] [template LargeFreeTile,/ContentManager/,/Content/Images/LargeTiles/ContentManagerLargeTile.png, Content Manager] [template LargeFreeTile,/XmlDocumentation/,/Content/Images/LargeTiles/XmlDocumentationLargeTile.png, Xml Documentation Reader]

All projects now have API documentation powered by the Codearts.XMLDocumentationReader library.

I have also made a few more incremental tweaks to this website theme.

Grid Mapping for unity v2.3.3 Released August 17, 2013

See the project page at for features and documentation.

[template LargePaidTile,/GridMapping/,/Content/Images/LargeTiles/CBX.GridMappingLargeTile.png, Grid Mapping,10]


  • Completed - Fixed bug with pencil tool where you could not use the middle mouse button to drag the camera.
  • Completed - Fixed bug with pencil tool where prefabs were not auto scaling when auto scaling was turned on.
  • Completed - Added Rotation window containing the rotation grid for each X, Y, Z axis.
  • Completed - Added/updated general settings with a drop down list that provides the user with different ways for the rotation grids to be displayed.
  • Completed - Added new setting under general settings section that controls the orientation (horizontial/vertical) of the rotation grids in the rotations window.

Grid Mapping for unity v2.3.2 Released August 15, 2013

See the project page at for features and documentation.

[template LargePaidTile,/GridMapping/,/Content/Images/LargeTiles/CBX.GridMappingLargeTile.png, Grid Mapping,10]

v2.3.1 - v2.3.2

  • Completed - Rearranged location of some menu items to conform to unity asset store submission guidelines. Top level "Codefarts" menu has been moved to "Window->Codefarts".
  • Completed - Grid mapping service now provides an event to notify code that a different drawing tool was selected.
  • Completed - New settings section for managing and searching for drawing tools, that also allows where tools appear in the drawing tools area and in what order.
  • Completed - Grid mapping service now provides an event to notify code that the drawing tool list has changed.
  • Completed - Fixed issue with "Drawing tools button size" setting float/int issues.
  • Completed - Moved "Drawing tools button size" & "Drawing tool buttons per row" settings from "Grid Mapping/General" to "Grid Mapping/Drawing Tools".
  • Completed - Fixed a bug with the draw rectangle tool where the first prefab would be rotated correctly but the remaining prefabs would not be rotated.
  • Completed - Included the 3D block promo scene shown in the unity asset store page.
  • Completed - Updated some of the sample scenes.
  • Completed - Fixed compilation issue when switching to Web Player platform involving last update time.
  • Completed - Performed partial code audit and added more xml documentation and in-line code comments. Also formatted code to conform to default StyleCop settings.

Back to coding! August 5, 2013

I am back from picking mushrooms and have gotten a little more work done on my Grid Mapping tool.

The next release (v2.3.1) will be a simple code clean up and audit getting the code to conform the default StyleCop settings adding more xml documentation and in line code comments.

During my free time I also had the opportunity to create a simple game. I am planning on releasing it as a complete package on the asset store.

Gone Shroom'in! June 17, 2013

Unfortunately my various programming works don't yet earn me enough of an income to live on, so I have to generate the monies by other means. I'll be heading to High Level, Alberta May 26, 2013 to do some Morel picking for at least a few weeks.

I'll have my laptop with me but there is no guarantee I'll have time to get any real work done. Rest assured when I return I'll be hard at work again.

In the mean time I have released a new C# imaging library.

[template LargeFreeTile,/ImagingLibrary/,/Content/Images/LargeTiles/GenericImagingLibraryLargeTile.png, Generic Imaging Library]

The generic imaging library is a portable class library written in pure C# designed to provide generic bitmap manipulation capabilities without any reliance on external dependencies. 

Grid Mapping for unity v2.3.0 Released June 13, 2013

See the project page at for features and documentation.

[template LargePaidTile,/GridMapping/,/Content/Images/LargeTiles/CBX.GridMappingLargeTile.png, Grid Mapping,10]

v2.3.0 changes

  • Completed - Need to refactor the drawing tools and move them into a interface driven plug-in system so adding new tools is easier & more unit testable and will allow users add in there own tools.
  • Completed - Added setting used to determine weather or not to restore the last selected drawing tool when a map is re-selected.
  • Completed - Need to optimize pencil tool when dragging while drawing so as not to draw again over the same area.
  • Completed - Performance improvements for FillRectangle, EraseFilledRectangle, Rectangle, EraseRectangle, DrawGizmos, & Pencil.
  • Completed - Added more performance metrics for identifying performance issues. (Via PERFORMANCE conditional compilation symbol)
  • Completed - Fixes bug with gizmos (Grid, marker, Guidelines) not aligning properly with the map if the map position was something other then 0,0,0.
  • Completed - Need to change how grid mapping stores current prefab and material selections. It was using instance ID now it uses GUID via assetdatabase.assetpathtoguid etc
  • Completed - Added prefab information tool that allows user to click a prefab and get detailed information about it.
  • Completed - Need to change how prefabs are created when drawing with rectangles/filled rectangles. The First prefab drawn is the instantiated prefab but subsequent prefabs are instances (clones) and have no prefab connection. This has been fixed.
  • Completed - Rules need to be organized by category.
  • Completed - Need option with drawing rules editor when displaying the category popup filter. Needs the option to show as hierarchy or flat.
  • Completed - Renamed "Drawing Modes" to "Drawing Tools" to more accurately describe the drawing tools.
  • Completed - Added ability for a drawing tool to provide additional controls in the inspector under the drawing tool buttons.
  • Completed - Fixed rotation issue with some included prefabs when drawing with rectangle the first prefab would not be rotated properly. The rotation value of the source prefab was set to 90.

General Tools for unity v1.6.1 Released June 8, 2013

See the project page at for features and documentation.

[template LargeFreeTile,/GeneralTools/,/Content/Images/LargeTiles/TileMaterialCreationLargeTile.png, General Tools ]


  • Completed - Updated CoreProjectCode to sync with other Codefarts projects.
  • Completed - Changed folder "Codefarts.CoreProjectCode" to "CoreProjectCore" removing the redundant "Codefarts" prefix.
  • Completed - Changed folder "Codefarts.GeneralTools" to "GeneralTools" removing the redundant "Codefarts" prefix.

v 1.6

  • Completed - Renamed CBX.GeneralTools to "General Tools for unity"
  • Completed - Changed root menu from CBX to Codefarts.
  • Completed - Added filtering rules to the asset sync tool.
  • Completed - Added Mesh to code window.
  • Completed - Changes all name space prefixes from "CBX" to "Codefarts". "CBX" was short hand for "Created by: X" the screen name and personal website of Dean Lunz .  But now that I have setup an official site for my coding work I have renamed all instances of "CBX" from the project into the more proper "Codefarts" identifier. Documentation has also been updated.

Grid Mapping for unity v2.2.0 Released May 29, 2013

See the project page at for features and documentation.

[template LargePaidTile,/GridMapping/,/Content/Images/LargeTiles/CBX.GridMappingLargeTile.png, Grid Mapping,10]

v2.2.0 changes

  • Partial - Implemented drawing rules. NOTE: Still in beta stage as I still have features to add as well as further testing to do.
  • Completed - Setting to change drawing rule button height in inspector.
  • Completed - Setting to specify the height of each item in the drawing rule list.
  • Completed - Fixed undesirable behavior when drawing rectangle or filled rectangle where the marker was not being drawn. The marker now follows the mouse pointer just like the pencil tool.
  • Completed - Fixed bug when using the Rectangle or Filled Rectangle tool and the user starts dragging in the scene view but moves the mouse outside the scene view and releases the mouse button. When the user moved the mouse button back into the scene view the tool did not pick up the mouse up event and continued to draw the marker.
  • Completed - Fixed undesired behavior with drawing rule editor. When trying to add an alternate prefab with no game object selected the editor mistakenly made the "Save" button appear as though a change occurred.
  • Completed - Fixed bug where under certain circumstances when the map was selected rotating the view in unity would become locked and you could only rotate the view.
  • Completed - Modified the way the drawing tools are displayed and added settings to control the size of the buttons as well as how many buttons per row to display.
  • Completed - Updated the various icons and provided attribution links to them in the documentation.
  • Completed - Fixed alignment issue with selected layer not aligning properly.
  • Completed - Tool tips now show up when hovering over prefab buttons and draw tools.
  • Completed - Fixed bug when drawing with pencil. The Erase method was not using RegisterSceneUndo.
  • Completed - Slight performance increase when drawing with pencil.
  • Completed - Added setting to change how the "Shader type" popup is displayed for the Automatic Material Creation window.
  • Completed - Fixed spelling mistakes and updated documentation.

CBX.GridMapping v2.0.1 Released February 26, 2013

See the project page at

[template LargePaidTile,/GridMapping/,/Content/Images/LargeTiles/CBX.GridMappingLargeTile.png, Grid Mapping,10]

Current Features

  • Can use your own prefabs
  • Includes simple prefab shapes
  • Customizable prefab quick select grid
  • Recently used lists for quick re-selection
  • Support for layering
  • Can name, lock, show/hide, reorder layers
  • Structured prefab naming convention
  • Preset rotations when drawing
  • 3 draw tools Pencil/Rectangle/Fill Rectangle
  • Supports Undo
  • Full off line documentation included
  • Built in feedback tool
  • Includes preliminary API & developer tools
  • Can auto scale and auto center prefabs
  • Lots of settings for customization
  • Fully commented & organized C# source code included
  • 95+% of source code conforms to default StyleCop settings


NOTE: The current version of this tool does not contain a grid or tile mapping/management system. It is a in editor creation tool designed to make it easy to rapidly place prefabs within a grid based layout. A future update will include editor & run time API's.

Version Notes

Items starting with "Completed" are items that have been fully implemented as they were intended
Items starting with "Partial" are items that have only been partially implemented.



  • Completed - Fixed bug if build settings were set to WebPlayer. File.GetLastWriteTime was not available under WebPlayer.
  • Completed - Complete reshuffling of the code base to make it easier to publish and the code is more organized. The code base now lives in it's own folder under "CBX Game\CBX.GridMapping".
  • Completed - All CBX.GridMapping specific code now lives under the CBX.GridMapping name space.
  • Completed - Added additional prefabs to the quick prefab selection drop down.
  • Completed - Fixed issue with the 2D mesh plane prefab. Collider is now properly aligned to the mesh.
  • Completed - Temporarily removed the Quick Tools Beta preview from the code base. It will make an reappearance in a future update.
  • Completed - Removed dead code from numerous code files.
  • Completed - Numerous improvements to the layers system.
  • Partial - Automatic Material Creation window is partially implemented but not recommended for production use just yet. It pretty much works as intended but there is no way to save the materials it creates internally as actual unity *.mat files.
  • Completed - Ability to hide and show individual layers
  • Completed - Have setting to hide show the foldout control for hiding map information
  • Completed - Ability to lock a layer so it can not be drawn or erased
  • Completed - Ability to change the order of layers in the layer list
  • Completed - Ability to delete a specific layer
  • Completed - Added 2 additional draw modes Rectangle & FillRectangle
  • Completed - Added additional settings for more customization
  • Completed - Tile Material Creation, Scene view auto pan, & Hidden Game object tools are no longer part of CBX.GridMapping but instead have migrated over to a free utility library called CBX.GeneralTools available at the Codefarts website.
  • Completed - Fixed bug when changing cell size. The map grid did not automatically update.
  • Completed - Fixed bug where setting the cell size to a non square value prefabs that were drawn were scaled to the minimum dimensions of the cell.