GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ToolTech/CSWUnreal: Common Synthetic World streamed into Unreal

BranchesTags
Open more actions menu

Latest commit

 

History

140 Commits
140 Commits

Folders and files

NameName
Last commit message
Last commit date
Config
Config
 
 
Maps
Maps
 
 
Plugins/CSWPlugin
Plugins/CSWPlugin
 
 
Source
Source
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
CSW.sln
CSW.sln
 
 
CSW.slnx
CSW.slnx
 
 
CSW.uproject
CSW.uproject
 
 
LICENSE.txt
LICENSE.txt
 
 
README.md
README.md
 
 

Repository files navigation

CSW - Common Synthetic World

A project aiming to create a fast stream implementation in Unreal Engine.

Setup

  1. Install Unreal Engine 5.8.1 and Visual Studio 2026 with C++ game-development support.
  2. Checkout files from the repo (including LFS), right-click CSW.uproject, and select Generate Visual Studio project files.
  3. Drop a CSWDevTest instance into a scene
  4. Enter a map url to a .gzd map in the Map Urls property (there is a map provided in the download under /maps)
  5. Enable GZ_INSTRUMENT_CODE in the CSWPlugin.Build.cs file if you want to measure performance
  6. The map will load in Editor mode but performance is measured between play and stop
  7. You will get output from the log when you filter on sender CSW

CSWPlugin overview

CSWPlugin exposes a UCSWScene component that connects Unreal to the CSW scene manager (GizmoSDK). Key responsibilities:

  • Map streaming via MapUrls and the CSW command pipeline.
  • Scene graph creation/destruction on the game thread (buffered from the manager).
  • Coordinate conversion between geodetic, Gizmo, and UE space.
  • Ground clamp request/response helpers (polling, event, and async BP node).

Common entry points:

  • UCSWScene::RequestGroundClampPosition(...) + TryGetGroundClampResponse(...) (polling).
  • UCSWScene::OnGroundClampResponse (event/callback).
  • GroundClampAsync (Blueprint async node: UCSWGroundClampAsyncAction).

CSWDev test

ACSWDevTest is a lightweight test actor (C++ + Blueprint friendly). It includes:

  • Geodetic conversion test (forward + reverse).
  • Ground clamp test (polling) and an async example helper.

DevTest via Blueprint

You can create a lightweight DevTest in Blueprint by inheriting from ACSWDevTest:

  1. Create a Blueprint class based on ACSWDevTest.
  2. Place the Blueprint actor in your level.
  3. Set bRunGeoTest, TestLatitude, TestLongitude, TestAltitude in Details.
  4. Implement the Blueprint events:
    • OnGeoTestComplete(WorldPos, LatitudeDeg, LongitudeDeg, AltitudeMeters)
    • OnGeoTestFailed() (optional)

If you need coordinate conversion in Blueprint, call:

  • GeodeticToWorldBP(...)
  • WorldToGeodeticBP(...)

These wrappers use the current loaded map coordinate system and route through GizmoSDK -> UE transforms.

Ground clamp in DevTest (Blueprint)

Polling example (built in):

  • Set bRunGroundClampTest = true and the ground clamp fields.
  • Implement:
    • OnGroundClampTestComplete(Result)
    • OnGroundClampTestFailed()

Async example (recommended for BP):

  • Call RunGroundClampAsyncExample(TimeoutSeconds).
  • Bind OnSuccess / OnFail on the returned async action node.

Ground clamp in C++

Minimal polling pattern:

const int32 RequestId = Scene->RequestGroundClampPosition(Lat, Lon, Height, WaitForData);
FCSWGroundClampResult Result;
if (Scene->TryGetGroundClampResponse(RequestId, Result))
{
    // Use Result.WorldPosition / WorldNormal / WorldUp / Altitude
}

Requests are asynchronous; do not block the game thread.

Contacts

If you have questions you can email Anders Modén or send support question to GizmoSDK Support

Work

This demo is based on a streaming technique developed at Saab. It is compatible with other stream formats but has a number of specific features.

You can see a demo here Video

And Work on some BUGS in UE 5.5 UE BUG Video

About

Common Synthetic World streamed into Unreal

gizmosdk.blob.core.windows.net/video/Streaming%20Maps/AUV%20Buildings%20and%20Trees.mp4

Topics

cswgizmosdksaabstreamingmapsunreal

Resources

Readme
License
Activity

Stars

1 star

Watchers

1 watching

Forks

1 fork
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.