Map-Free Generation
Note
This page focuses on experience design, terrain layout, and trajectory estimation when creating map-free spatial experiences. For the deep technical behavior, state machine lifecycles, and specific stalled graph nodes when map downloads timeout, see Map Data Request Timeout.
Normally, the Spatial Experience SDK utilizes pre-loaded map data to anticipate turns and generate expansive virtual worlds aligned with real-world geography. However, when an active map data download/connection is unavailable, the SDK will continue to operate utilizing real-time vehicle sensor telemetry and geographic positioning. In the absence of a defined road network and geographic map data, certain design and architectural considerations apply when creating virtual environments:
Trajectory Package Relevance
When map-dependent nodes stall, the ElasticSDK Trajectory Estimation Extension becomes highly relevant. Because the path is not predetermined by mapped road geometries, the trajectory package is essential to estimate and project the vehicle's future path dynamically based on real-time yaw rates and sensor trends.
Example (Leading NPC Vehicle & Item Drops): In a futuristic racing or chasing experience, the projected trajectory can be used to control a leading NPC vehicle. By querying the estimated path points ahead of the player (e.g., 20–30 meters in front of the player's current position), you can position the NPC vehicle precisely on the upcoming predicted route. This allows the leading vehicle to perform actions like dropping gameplay items (e.g., obstacles, boosters, or coins) directly in the player's path. Because the leading NPC updates its position based on the forecasted trajectory of the physical car, it behaves naturally—appearing to anticipate and execute turns before the player themselves reaches them.
Collision and Terrain Constraints
Because the generated environment does not correspond to physical, mapped roads, map-dependent nodes (such as RoadNetworkMask or RoadNetworkPoses) will completely fail or stall. Consequently, physical obstacles and solid blockades along a defined route are not feasible.
Only terrains that don't have static structures in the xz-plane of the player will work correctly. Instead, the gameplay space should be designed for flying over a landscape, or featuring interactive objects that move aside or disappear as the player gets closer.
Example (Submarine Diving): In a submarine diving experience, the terrain below can be procedurally generated as long as all solid structures such as rocks, reefs, and dunes can be passed over. Gentle height adjustments of the submarine's diving depth can help break the effect of rigid vertical layers. In contrast to rigid structures, dynamic objects such as fish, weaving algae, or rising bubbles can be spawned at the same height/depth as the submarine. When the player gets closer, the fish are programmed to evade, rising bubbles fade out, and weaving algae are pushed aside.
Note
Without map data, it's not necessary to create a flat experience. Gentle height adjustments that ignore the physical vehicle motion are still possible and won't negatively affect user comfort if treated with care. For example, a Perlin Noise node with a low frequency can easily be used to control the vehicle height (see How To Sample Map Nodes).