
Set up a new Unreal Engine 5 procedural road system project, migrate the press essentials starter content, organize assets, configure maps and plugins, and enable key animation and vehicle plugins.
Create a player character base and a dedicated player pawn for the road system. Add a spring arm and camera to prevent mesh overlap and enable camera controls.
Leverage unreal engine 5's enhanced input system to map mouse movements (axis 2D) to camera controls via an input mapping context and I look action, with optional pitch inversion.
Set up a move input action as a 2d axis with a deadzone; map w a s d to forward, backward, left, and right, and apply movement from controller rotation.
Create a basic locomotion system in Unreal Engine 5 by building an animation blueprint with a locomotion state machine and an idle state using the mannequin skeleton.
Learn how to implement cycle state locomotion in Unreal Engine 5, using velocity-based transitions between idle and cycle, thread-safe update animation, and orientation to movement for correct rotation.
In Unreal Engine 5, implement cardinal direction based cycle animation selection to play forward, backward, left, or right animations from a sequence player driven by velocity direction.
Compute runtime cardinal directions from velocity angle using forward and backward dead zones and sine value, returning forward, backward, left, or right to drive animations in Unreal Engine 5.
Apply orientation warping to align the lower body to the target direction using the animation warping plugin, adjusting spine and IK bones with locomotion angle input.
Apply inertia initialization in the animation graph to smooth transitions and reduce stuttering in locomotion. Interpolate transitions for cardinal and diagonal directions with orientation warping for a more realistic system.
toggle between strafing and forward facing rotation modes using a locomotion system actor component, connect rotation mode to the character movement component, and expose an event dispatcher for changes.
Create a data driven locomotion system by building data structures and a data table to configure idle and cardinal cycle animations at runtime.
Read the animation data table and pass the row name to the locomotion system component, then bind the on-set event to update the animation blueprint with the anim set.
Drive character animations in Unreal Engine 5 with a data-driven animation blueprint, retrieving animation names from a data table and dynamically updating idle and cycle sequences at runtime.
Learn to implement a data-driven locomotion system with a movement type enum (walk, jog, crouch) in Unreal Engine 5, linking a BP locomotion component, event dispatchers, and data tables.
Explore toggling movement types by adding input actions for walk, jog, and crouch, wiring them to the locomotion system, and adjusting capsule and movement components at runtime.
Drive runtime movement with data table configurations for each movement type, setting max walk speed and max acceleration. Organize logic in the locomotion system with backups and re-imports.
Override animations by building data structures and a data table, plus blueprint structures for name overrides and sequences. Integrate overrides into the animation blueprint with upper body mask.
Wires a data table to the actor component and animation blueprint to implement animation overrides, defines set anim override, binds dispatch events, and drives animation data from the override map.
Develop an animation blueprint to override base poses with a layered blend using branch filters and blend masks, calculating blend weight via a sequence evaluator, driving idle and movement overrides.
Implement and blend upper-body animation overrides for idle and cycle states in Unreal Engine 5, using layer blends, upper-body mask, data tables, and custom overrides (cup, backpack).
Create a general animation data structure and a jump set (start, loop, apex, land, recovery) under movements, then back up json and feed sequences into the locomotion blueprint for jumping.
Promote the general record to local variables, assemble animation sequences, and validate jump start, apex, and landing to power a robust jump state machine when some animations are missing.
Develop a jump animation state machine in Unreal Engine 5, drafting a transition graph with jump sources, selector, states for start, apex, loop, landing, plus a thread-safe state update.
Implement automatic rule-based transitions for the jump sequence by computing time to jump apex and using a ground distance line trace to drive loop, land, and end states.
Implement enhanced input actions for jumping using a spacebar toggle in Unreal Engine 5. Visualize ground distance with a runtime line trace to ensure reliable landing and smooth jump animation.
Learn to implement additive animations in Unreal Engine 5 to create smooth jump recovery, blending jump, land, and idle states via a full-body additive layer and a state machine.
Integrate the control rig foot IK in Unreal Engine 5 to adapt character foot placement to dynamic landscapes, using IK pins, alpha smoothing, and selective IK tracing.
Implement animation montages in an animation blueprint with a dedicated layer and reusable component. Support upper body, lower body, and full body montages via layered blends, slots, and alpha interpolation.
Learn to control Unreal Engine 5 animation montages using upper body and full body masks, default slot playback, and a modular actor component for reuse across actors.
Modularize animation montages with a reusable actor component (BPC montage helper) for characters and other actors in Unreal Engine 5, enabling play, stop, looping, IDs, and montage events.
Implement a basic unit system to let characters equip items. Add an inventory system component, spawn an inventory item, and attach it to a character socket with a static mesh.
Create an inventory items data table in Unreal Engine 5, define s_inventory_item_data with id, static mesh, transform, and attach socket, and populate it with backpack, briefcase, cup, phone, and purse.
Override the character animation based on the equipped inventory item using per-item overrides defined in the locomotion data table and applied via the inventory system.
Switch inventory items at runtime by promoting the spawned item to a global variable, cleaning up previous items, and spawning a new item with the spawn inventory item function.
Equip a random inventory item by picking a random item, setting the data table row, and spawning the item; runtime randomization yields varied NPC gear for the procedural road system.
Create a procedural road network by generating static meshes along a spline with a master blueprint and initialize function, using spline mesh components and collision settings.
Learn to spawn road meshes along a spline in Unreal Engine 5 by implementing a set spline mesh start and end function that computes start and end positions and tangents.
Calculate the road mesh space from the road pavement box extent at runtime, derive total segments from spline length, and spawn meshes along the spline accordingly.
Learn to rotate road spline meshes with a spline mesh roll function, using begin roll and end roll in degrees, and prepare per-segment overrides via a data table.
Learn data-driven procedural road design in Unreal Engine 5 by configuring road properties with data tables, pavement data, and segment defaults to switch between one-way and two-way roads.
Learn to override each road segment by using a road segment properties array tied to the spline, with dynamic add/remove of segments and per-segment properties for procedural roads.
Learn to spawn and configure segment numbers along a procedural road by creating a text render config, attaching it to each spline segment, and adjusting position, color, and orientation.
Learn to implement a force refresh mechanism in Unreal Engine 5's procedural road system, update segment and spline number displays, and refine text coloring to identify spline points.
Add sidewalks to a procedural road in unreal engine 5 by creating a sidewalk data structure, enabling left and right sidewalks, and applying sidewalk meshes along the spline.
Configure a dedicated road collision trace channel, tune default ignore and block settings, and fix foot placement by adjusting the control rig IK foot trace to resolve sidewalk collisions.
Implement rails for roads by adding a road trail data structure with left and right rail meshes for sidewalks, and toggle show road and show spline to optimize performance.
Explore Unreal Engine 5 procedural road system concepts by generating dynamic terrain, spline points, and conditional ground traces to spawn supports and bases along a road.
Spawn road supports in Unreal Engine 5 by using a Core Road Support data structure with base and column meshes, scaling column height by distance to flow along spline points.
Explore procedural road systems in Unreal Engine 5 by spawning custom actors, such as street lights, along a spline using a custom actor class, spacing, and left and right offsets.
Override custom road actor properties along splines in Unreal Engine 5's procedural road system by using a data-driven format and data tables to spawn left and right side custom actors.
Explore building a procedural road system in Unreal Engine 5 by creating base intersection blueprints, visualizing pavement meshes, and configuring sidewalks and rails.
Duplicate and customize the crossroad blueprint from the road intersection base, adding four sidewalk meshes and rails, and create one-way and two-way crossroad variants for procedural road systems.
learn to automatically attach crossroads to nearby roads in Unreal Engine 5 by using socket locations, find nearby road, and snap to the closest spline point with a blueprint interface.
Learn to attach intersection connectors to roads in Unreal Engine 5 using editor callable events, socket enumerations, and visualization tools, with debugging of offsets and rotations.
Attach intersection connector sockets to roads in Unreal Engine 5's procedural road system, testing one-way and two-way configurations with C1, C2, C3, and CR sockets.
Rotate the road intersection by applying a 90-degree local rotation via a rotate intersection function, triggered by an event, and prep for spawning roads on the intersection.
Spawn roads on intersection sockets using a generic function and socket names, while preventing overlaps by checking for nearby roads and configuring road types via defaults and overrides.
Spawn all roads across every available connector socket using a helper to enumerate socket names, iterating and spawning only on open sockets for efficient procedural road networks.
Align landscape on road intersections using a level manager and blueprint function to apply spline-based deformation to the landscape, with configurable start, end, and falloff.
Align landscape on roads using a flexible data-driven approach in Unreal Engine 5, enabling landscape adjustments via data structures and testing across one-way and two-way roads.
Learn to implement a time of day system in a procedural road setup by creating a time-of-day manager blueprint that centralizes lighting and enables day-night reactions like night-time headlights.
Fix directional light orientation conflicts with sun rotation by building a time-of-day data structure and a configure directional light settings function to adjust intensity, color, angle, temperature, and volumetric scattering.
Explore how to enable and tune directional light shafts in Unreal Engine 5, adjusting bloom scale, bloom max brightness, and bloom tint to shape sun exposure and mood.
Configure exponential height fog in Unreal Engine 5 to control fog density, height falloff, and volumetric fog, then tune scattering color, extinction scale, and view distance for dynamic atmosphere.
Adjust sky atmosphere in Unreal Engine 5 by tuning atmosphere height, Rayleigh scattering scale, and color to simulate varied weather and sky conditions, laying groundwork for skylight.
Tune skylight by adjusting intensity and light color in the sky atmosphere. Expose these settings with a blueprint data structure and a configure skylight function, then apply in construction script.
Learn to configure volumetric clouds in Unreal Engine 5.7 by duplicating the master cloud material, creating a dynamic material instance, and adjusting density and color via settings.
Configure sun direction by linking directional light rotation to a dynamic sky sphere material, updating the light direction parameter in real time to align sun with skylight and clouds.
Configure daytime and nighttime by centralizing time-of-day controls in a DoD settings structure. Apply changes to directional light, fog, sky atmosphere, skylight, and volumetric clouds.
Implement moon and sun directional lights for night and day, and configure a sky sphere with dynamic color, brightness, and fog settings to drive time-of-day visuals.
Automate a smooth day-night cycle in Unreal Engine 5 by incrementing time with a looping timer, then update sun and moon orientation through directional lights and post-processing exposure.
Create a heads-up display UI to show the current time in hours and minutes, updated via an event dispatcher from the time manager for runtime day-night visualization.
Develop a curve-based sun and moon orientation system in Unreal Engine 5, replacing clamp maps with a theta-driven curve to smoothly animate sun and moon pitches for day-night cycles.
Unreal Engine 5's procedural road system uses a time-of-day manager to auto switch streetlights on at night and off by day, with configurable light color and intensity.
fix sun and moon directional light orientations and initialize current rotations by making the time-of-day system data-driven, ensuring correct initialization after time increment and accurate lighting in unreal engine 5.
Convert the time of day system into a data-driven architecture by moving configurations into a dedicated data table and fetching day and night settings at runtime.
Apply unique randomization of time-of-day settings in Unreal Engine 5's procedural road system, selecting a distinct TOD data at day passes and updating the current TOD data ID.
Display the current TOD ID on the UI in Unreal Engine 5's procedural road system, updating with each day passed and handling default and summer states.
Set up a weather manager to control sunny and rainy weather effects on a level, plan smooth transitions, and enable extensibility for snow or sandstorm effects with a utility getter.
Create a reusable weather system in Unreal Engine 5 with a base class for weather effects, start/stop events, and an effect id, then define a sunny weather variant.
In Unreal Engine 5, implement a rainy weather effect in procedural road system using a Niagara rain system, starting from fountain template and tuning velocity, gravity, and sprite alignment.
Implement a follow-camera Niagara system template to spawn rain emitters around the player, using camera properties and a dynamic spawn radius for optimized performance.
Spawn weather effects at runtime with a weather manager that switches between sunny and rainy by spawning an effect from its base class and managing the spawned actor.
Visualize the current weather in the UI by displaying the weather effect ID on the HUD, and update it via the weather manager's on with the effect changed event.
Add a looping rain ambient audio cue in Unreal Engine 5’s procedural road system, auto-activate it, test with a cube, and explore extending to snowy or dust storm weather.
learn to implement a thundering effect by creating a thunder function with randomized 5-8 second delays, playing a random thunder sound from an array and a Niagara lightning flash.
Build a reusable surface wetness system in Unreal Engine 5 by creating a material function, a global parameter collection, and applying it to landscapes and roads during rain.
Create a rain puddles material function blending a noise mask with base materials to render puddles on landscapes and roads; expose brightness, specular, roughness, scale, slope mask, and edge sharpness.
Toggle rain puddles based on weather using a scalar puddle size parameter in a material parameter collection to control puddle visibility and surface wetness with smooth transitions.
In Unreal Engine 5, implement smooth surface wetness by using a weather manager, timelines, and curves to blend rain transitions, drive alpha, and reveal puddles over time.
Cache and spawn weather effects in Unreal Engine 5, using a weather manager and events to switch between sunny and rainy transitions, with a logger to track puddle visualization.
Learn to generate smooth rain puddles in Unreal Engine 5's procedural road system by triggering puddle appearance with surface wetness events, delays, and a weather manager.
Unreal Engine 5 tutorial demonstrates adding a HUD UI to display surface wetness and rain puddle size, update values via a weather manager using event dispatchers, and color-code states.
This lecture shows weather-driven lighting changes in Unreal Engine 5, updating sky, atmosphere, lightning, and post processing via a weather manager and tod manager with volumetric clouds.
Learn to perform smooth Tod lighting transitions by blending current and target Tod configs with a weather transition timeline and lerp, preparing for a data table driven approach.
Learn to drive weather in Unreal Engine 5 with a data-driven system using data tables to select and smoothly transition between sunny and rainy effects, including UI visualization.
Visualize weather transition status on the UI by driving a transition alpha through an event dispatcher with the weather manager, updating text and color in real time.
Automate dynamic weather transitions in Unreal Engine 5 by implementing a weather manager that selects random weather data, waits for random delays, and applies transitions to the scene.
Learn how to implement pedestrian AI in Unreal Engine 5 by using an NPC base, AI controller, behavior tree, and blackboard to drive a basic wait task.
Explore how to implement NPC AI behavior selection in Unreal Engine 5 using a behavior tree and blackboard to switch between idle and move to target location.
Implement an AI task to move an NPC to a target location using a blackboard key, behavior tree service, and navigation volume, with debug visuals and adjustable acceptance radius.
Implement a spline-based NPC path-following system by wiring a behavior tree task to move along a road’s spline, using target road references, blackboard keys, and debug visuals.
Enable sidewalks and compute sidewalk offsets along the spline using the right vector to place NPCs on left or right sidewalks, with configurable road data and randomized offsets.
Learn to search for and follow the closest road for an NPC in Unreal Engine 5's procedural road system, using a Level Manager to populate and evaluate road options.
Control an NPC's move direction on a road by using a move direction enum, exposed to the blackboard, and read by the follow spline task to move forward or backward.
learn to implement a spline-based npc path system in Unreal Engine 5, reversing or switching to the next spline when the road ends using behavior trees.
Learn to switch roads when the end is reached by locating nearby roads within a search radius, validating reachability, and updating the NPC's target road and spline distance.
Explore how to randomize NPC spline behavior by adding boolean flags, selecting random follow rules, move direction, and walk side, all via the NPC system and behavior tree.
Spawn NPCs along the road with a spline, using a for loop and random distance range to compute locations, then spawn random pedestrian NPCs at those points.
Correct npc spawn location on road via a ground trace and get location on ground, using a depth offset to spawn on the surface and avoid origin point collisions.
Optimize NPC spawns on a procedural road in Unreal Engine 5 by computing location and rotation along a spline, adjusting for move direction, and applying correct transforms.
Spawn NPCs along the road and have them follow spline paths with configurable ai, while randomizing walk speed, equipment, movement direction, and debug options.
learn to improve Unreal Engine 5 procedural roads by automatically spawning end-of-road intersections with a data table, then build a composite road network to spawn NPCs with sidewalks and rails.
Build a composite road network, spawn pedestrians on roads and intersections, enable sidewalks with navmesh, and sync time of day and weather to drive NPC movement.
Learn to add female pedestrians in Unreal Engine 5 by duplicating the locomotion data table, updating to MF animations, duplicating the pedestrian blueprint, and enabling female meshes and collision rules.
Learn to create diverse NPCs in Unreal Engine 5's procedural road system by building an actor profile system, tintable character variants, and dynamic spawn colors alongside walk speed variation.
Display the pedestrian count on the UI in Unreal Engine 5 by registering NPCs with a level manager and emitting an NPC amount change event, updating a UI text block.
Learn to integrate vehicles into Unreal Engine 5.7's procedural road system by importing the vehicle starter content, enabling chaos vehicle plugin, and organizing assets and ui.
Create a centralized Unreal Engine 5 user interface system to manage and toggle the player and vehicle HUD widgets, including dynamic creation, attachment, and visibility control as you switch contexts.
Detect player interactions with a vehicle using a box collision and begin overlap events. Validate overlapped actors as players, show a UI notification, and enable f-key enter/exit flow.
Explore Unreal Engine 5 pawn transitions for drive by implementing an interact input, entering and exiting vehicles, and updating a vehicle system component and related user interface.
Attach the character to the vehicle using a driver seat socket, disable collision during attachment, and drive with a looping montage to visualize driving; fix entry and exit transitions.
Set up AI driven vehicles in Unreal Engine 5 using an AI controller, behavior tree, and blackboard, with idle, move to location, and follow spline path behaviors.
Develop vehicle ai to reach a target location in Unreal Engine 5 using a behavior tree task, drive to location logic, and blackboard target location updates.
Compute steering on the x-y plane using the cross product of the forward vector and the normalized target direction; clamp to -1..1 and apply to the movement component.
Apply adaptive speed by using the dot product of the actor forward vector and the target direction to drive throttle; clamp and map this value to 0–1 for smoother motion.
Implement collision detection and obstacle avoidance for a vehicle in unreal engine 5 using collision volumes and overlaps, with braking, throttle, and steering to avoid backward, left, and right collisions.
Implement a vehicle AI that follows a spline path using a behavior tree, blackboard targets, and drive-to-location logic, with target road selection and spline distance calculation.
Implement predictive steering with iterative time steps to smooth vehicle turns in Unreal Engine 5 procedural road system, and toggle predictive steering for performance, with optional debug visuals.
Automate vehicle routing by using level manager's Get Target Road to find the closest BP road, replacing manual targets and enabling road following via the vehicle base and behavior tree.
In Unreal Engine 5, this lecture presents an improved apply speed function using cross product and dot product to compute throttle and steering, with distance-based base throttle for smoother motion.
Implement end of the road handling by reversing the vehicle and following the current spline, using move direction enumeration, blackboard keys, and a spline following rule in the behavior tree.
Implement driving side logic for two-way roads by offsetting vehicles into left or right lanes, with behavior trees, blackboard keys, and configurable vehicle lane offset data.
Learn to implement procedural road switching in Unreal Engine 5, enabling vehicles to detect nearby roads at road ends, switch targets via intersections, and follow splines with collision-aware navigation.
Automatically spawn vehicles on a composite road network, reuse and adapt pedestrian spawn configs for vehicles, and enable AI-driven driving with configurable spawn ranges and debugging tools.
Add diverse vehicle types to the procedural road system by creating color-randomized sports and off-road cars, fixing wheel collisions with no collision, and spawning multiple colored instances.
Display the vehicle amount in the UI by linking a central level manager to an on vehicle amount changed event, with register and unregister logic for all spawned vehicles.
Learn to implement time-of-day driven headlights in Unreal Engine 5's procedural road system, toggling headlights on at night and off in daytime for sports and off-road vehicles.
Create randomized building actors in Unreal Engine 5 to populate a level, aligning to the ground and sizing via mean size and max size on construct.
Create a building facade material in Unreal Engine 5 using wall textures, world-aligned mapping, texture tiling, wall tint, and rooftop textures with a slope mask.
Create and apply five building types using material instances, customize textures and roughness, and place and randomize them across a composite road network, with landscape adjustments and day-night cycle.
Master the art of building dynamic, procedurally generated environments in Unreal Engine 5.
This course takes you beyond static level design and into procedural content generation, where you’ll learn how to create scalable, data-driven systems for roads, traffic, and city environments.
You’ll gain hands-on experience building a complete procedural road system from scratch using Unreal Engine 5’s spline tools, Blueprints, and real-time systems. From automatically generated roads and intersections to dynamic weather, lighting, and traffic simulation, you’ll learn how to design interactive, living worlds that feel responsive and alive.
Your Learning Journey
Procedural Content Generation – Build a custom spline-based generation system to automatically create and manage complex road networks.
Basic Locomotion System - Implement simple yet flexible locomotion systems for player and NPC characters.
Basic Inventory System - Create an inventory system to support static item spawning on pedestrian characters.
Procedural Roads – Design multiple road types, intersections, and procedural mesh spawns for realistic and adaptable layouts.
Dynamic Time of Day Effects – Implement day-night cycles with responsive lighting and automatic streetlight behavior.
Weather Effects– Create dynamic weather systems including sunny and rainy conditions. Simulate wet road surfaces, puddles, reflections, and smooth weather transitions at runtime.
Pedestrians – Procedurally spawn pedestrians on sidewalks and crosswalks to add realism and life to your environment.
Vehicles – Spawn and control AI-driven vehicles that move dynamically along road networks.
Buildings - Utilize available level space to visualize city environments alongside the procedural road network.
Traffic Lights & Pedestrian Crossings – Build an intelligent traffic light system that controls vehicle flow and allows pedestrians to cross roads safely.
Zones - Implement level clustering and zone-based logic to control pedestrian and vehicle spawns per area.
Optimizations - Apply practical optimization techniques to maintain stable performance and smooth frame rates in large open-world maps.
By the end of this course, you’ll have built a fully functional procedural road system from the ground up. You’ll gain a strong understanding of Unreal Engine 5 Blueprints, spline-based generation, and real-time simulation techniques.
These skills are directly applicable to open-world games, city builders, simulation projects, and large-scale environments.
Whether you’re an intermediate Unreal Engine user or looking to step into advanced procedural systems, this course will give you a solid, production-ready foundation.