top of page
Search

Working with Scientific Data inside a Game Engine

  • Writer: Molly Carroll
    Molly Carroll
  • Mar 29, 2025
  • 2 min read

Updated: Apr 8

I finally sat down this weekend to learn how to do something I’ve wanted to learn for a long time: creating custom in-Editor tools to do my bidding (assist with project specific environment development tasks.)


 A lot of the personal projects I spin up usually involve some kind of forest or large area that needs populating. So for this weekend workshop I combined it with utilizing existing geospatial datasets available to the public through federal environment services like U.S. Forest Service, NOAA, Open Topography (funded by the National Science Foundation), NASA, and more. ***


*Bonus opportunity to call attention to the threats the EPA and these services face under the current presidential administration


**There are several existing tools out in the Unity-verse that do similar things. With that in mind, this is a personal experiment/challenge for me to learn and focus on solving a specific project need.


Stripped down to its barest of bones, this tool needs to be able to:


  • get a CSV file from somewhere on the user’s computer (future iterations might pull directly from a living db)

  • parse it for the categories and instances we want to use (ex. Species, Amount of each species)

  • match those instances to existing prefabs (models of trees) in the Unity project

  • populate the scene (preferably taking the terrain into account)


First try populating the space based on a fictional dataset of 4 species (of the cube variety)
First try populating the space based on a fictional dataset of 4 species (of the cube variety)

For this early version I’m just going to have the trees populate randomly on the terrain, but it would be ideal to populate the terrain also considering:


  • areas where the trees tend to grow

  • distance they generally grow from each other

  • realistic distribution of height variety

  • clusters vs. single trees

  • age

  • flora elevation lines

  • instances of water

  • … and more!


There is so much data out there thanks to those out in the field- I’d love to be able to recreate forests pretty authentically depending on the dataset you use. That on its own would be great for a simulation system. Then for a game, I can imagine all kinds of fun world mechanics for making an environment super dynamic during gameplay, based on this information.


More testing with some SpeedTree Oak and Conifer trees
More testing with some SpeedTree Oak and Conifer trees

1# goal for this weekend achieved: in-Editor Unity tool to do something specific for level design.


Next steps are going to involve studying what all info is available on the datasets, and adding some more practical functionality like clearing the scene and undo. Organizing the hierarchy so it’s not a forever and unending list of tree prefabs. Filtering to add/remove specific species would be a future nice-to-have.



 
 
 

Comments


bottom of page