Sketchup: Send To Unreal Engine 4
Purpose:
Wanted to create a remote connection between Sketchup to Unreal Engine 4. Sketchup will send commands to Unreal and have Unreal do those actions and or return back some information.
Different features this tool offers:
- Link Unreal Engine assets to Sketchup objects using a special attribute.
- Send placement and geometry data to Unreal and have it automatically placed in the level.
- Quickly Create a Unreal Engine Camera based on the current view we see in Sketchup.
- Update positions, scale, or layer information based on previously placed assets using custom unique IDs.
Sending a Linked Asset:
Highlighting an asset in each package and linking them together through a socket. Then sending just the placement data to Unreal so those assets can be placed automatically.
Blind Sending:
Sending placement and geometry data to Unreal without checking first.
Languages: C++, Ruby, Python
Currently working on: Sketchup 2019, Unreal Engine 4.24+
History:
I started this project back in 2015, way before the days of Python for Unreal, Datasmith, Blender’s SendtoUE4 and other Livelink plugins. The only reference I had was a few opensource projects that were written for Autodesk Maya.
https://github.com/Allar/ProductivityPlugin
My first iteration for this project started with writing out custom xml data to disk and having that information read in using a C++ plugin inside of Unreal. All of it happened in the background using just a single button click and worked nicely for a few years. Slowly as the years went by the Unreal Engine code changed so much that maintaining the project became increasingly more difficult. Since then I have rewritten and simplified the whole process to use just the Sketchup’s Ruby API and Unreal Python API. Some of the fancy UI elements were reused from another project.
Tags: c++devpythonsketchupunreal