Update to Integrate the Package Managers

A few months ago, I wrote this article about Using Conda packages in Unity

At the time I said that the integration was “hacky” at best.

Since then we have managed to improve the integration and this article describes the improvements.

This article will assume that you have read the first article and will not describe the concept explained in that article. Pause the article at this point (😀) and read the first article!

What were the problems?

The first version of the integration basically copied the libraries from the Conda environment into the Unity environment. This works…


Adventures in the Forbidden Zone

Photo by Klára Vernarcová on Unsplash

Objective

I have been working on a software platform in Unity — see www.virgis.org. This platform is a complicated set of C++, C# and Unity modules.

Initially, this whole platform was implemented as a single large Unity project. As we progressed the software dependencies became more complicate and this approach became a barrier to progress.

So the decision was made to break the platform up into a set of packages and use package management to control the dependencies.

This is a set of articles about that journey.

Architecture

The ViRGiS platform (without going into too much detail)…


How to integrate the Package Managers

Photo by Lance Grandahl on Unsplash

NOTE, there is an update to this article that can be accessed here:

Background

I am expecting most people who know about Conda and Unity are thinking “Why integrate them?”. I am coming to that. First a little bit of background.

Conda is an open-source, multi-platform and multi-language package management system. It started as part of the Anaconda data science environment targetted at Python and R but has proven so useful that it has been spun out on its own.

The primary value of Conda is:

  • It is multi-platform, running on Windows, Mac and Linux,


Creating your own Conda Packages

Photo by Steve Johnson on Unsplash

Conda is a modern and advanced package management platform that is used across the data sciences but also, these days, much wider.

This article goes through some of the complexities of creating your own Conda package particularly focussing on putting C++ libraries in Conda packages.

This article will come in three parts:

  • The concepts,
  • Workflow to create a package, if you don’t want the concepts then skip straight here, and
  • A list of resources used and samples.

For more details to the background of this article and also how Conda can also be used in…


Creating your own Unity Package

Photo by JESHOOTS.COM on Unsplash

Packaging code up into components, modules or packages is an important tool for code and version management for any project.

This has not always been easy for Unity Projects, and still remains an area of complexity and possibly an area where Unity is deficient. This will be a brief discussion of what to do and how to do it.

This article is part of a larger set about componentisation of Unity projects.

A Brief Detour about Unity

I am not going to provide much introduction to Unity, since if you do not know what it is then this article is…


A simple and quick recipe for a web app

Photo by Isis França on Unsplash

When it comes to quickly creating a highly interactive web site, whether for a niche audience or as a demonstration of a concept, I find that a combination of Google App Engine, Angular and Python provides the best solution.

The Requirement

I often find myself needing to quickly create a full-stack web application.

This is partly because of my personal approach to creation, which is very much prototypical. And it is partly because I believe that too many sites that should end up highly interactive end up as passive sites because people think…


Understanding GPS altitude and how to get a reasonable result.

Photo by Jack Anstey on Unsplash

The problem

The trackbash.co.uk website is aimed at railway enthusiasts. One thing they all said they particularly want is to be able to see the gradient of the track they are currently travelling and if possible elevation profile of the track as they pass over it.

This turned out to be a long way from the trivial problem that it looks to be to start with.

This article has two distinct parts :


The world’s most niche post ….

Envelope plot for the angles between Nearest Neighbours in a Point Process Data set

Background

This is a very niche post. But, I was working with some spatial data and wanted to represent the data against an envelope of CSR picks.

This should be a relatively common requirement but I could not find anything about how to do. So I wrote an article about the way that I did it.

The Problem

A common problem in spatial analysis is to want to plot a set of observations against the “envelope” of results from a set of draws from a Monte-Carlo simulation, usually of Completly Spatial Random (CSR) datasets or datasets that…


Using Service Workers and PWA with Angular Leaflet or OpenLayers

Photo by Enrique Alarcon on Unsplash

This is the second part of a series about Including Leaflet javascript interactive maps into Angular.io applications. The other parts of the series are :

The objective of this series is to that you will be able to create a Leaflet map in an Angular-CLI based project without hassle, fuss and dead-ends.

Part Five

In…


How to use the powerful mapping library in Angular

Photo by Kelsey Knight on Unsplash

Having been using Leaflet for mapping in Angular and writing about how to do it, I have now been working on some mapping projects using OpenLayers.

Why OpenLayers

Having written a whole series of articles about using Leaflet in Angular — i.e. see this …

… Why change to OpenLayers?

Leaflet is a great library and it is very easy to quickstart simple projects. It needs very little set up and has a large library of controls and extensions. However, if you want to go beyond the basics, particularly in terms of complicated…

Paul Harwood

Paul is a long time veteran of the tech industries — with 30 years in the trenches including stints with Nokia and Google as well as startups QR8 and trackbash.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store