Uploaded January 2021 | Updated September 2026, 2 weeks ago
Getting started with UNIGINE Engine? In this Livestream series, learn how you can create your first-person shooter (FPS) on UNIGINE. Get UNIGINE 2 SDK: https://l.unigine.com/dH9oXGcts
NOTE: Basic principles and most of the code are valid, but there were some API changes since the release of this video. SEE UPDATED CODE HERE: developer.unigine.com/en/docs/latest/code/usage/first-person_shooter/index?rlang=cs
In this episode, you will see how to:
- create basic logic of enemies with different states
- configure the navigation mesh for pathfinding
- add win / lose logic
Repository: gitlab.com/unigine/stream_fps_demo
0:11:48 — Fine-tuning the prefab
0:17:24 — Setting up physics of the prefab
0:22:55 — Arranging muzzles for bullet spawn
0:26:16 — Applying the finite-state machine for AI, defining the states
0:31:13 — Creating the Enemy Logic component with states
0:33:14 — Prototyping functions for states
0:34:57 — Calculating the distance between the enemy and the player and using it in the functions
0:40:16 — Using the physical body to move the enemy
0:46:00 — Transition between the states.
1:00:13 — Using the visualizer to debug transitions between states.
1:02:36 — Trying out the script and fixing the code.
1:10:06 — Setting intersection masks.
1:15:04 — Visualizing the view direction.
1:16:47 — Checking for intersections with the player collision shape (hitInfo).
1:25:27 — Workaround for visualizing the direction vector.
1:27:33 — Fixing the issue with the player being seen by the enemy through the wall.
1:29:17 — Continuing with intersection checks.
1:39:29 — Fixing the orientation.
1:57:50 — Doing the shooting (fire controller).
2:06:48 — Making the moving and destroyable bullet.
2:14:58 — Creating the navigation mesh for pathfinding.
2:26:22 — Modifying the enemy logic for pathfinding.
2:33:23 — Visualizing the route.
2:35:54 — Trying out and fixing bugs.
2:53:19 — Adding the delay for route calculation.
3:06:42 — Adding more robots.
3:08:28 — Creating the Health component to register damage.
3:21:50 — Creating the Game State component to switch between Play and Win/Lose states.
3:29:06 — Q&A.
#unigine #uniginetutorial #tutorial #3d
Getting started with UNIGINE Engine? In this Livestream series, learn how you can create your first-person shooter (FPS) on UNIGINE. Get UNIGINE 2 SDK: https://l.unigine.com/dH9oXGcts
NOTE: Basic principles and most of the code are valid, but there were some API changes since the release of this video. SEE UPDATED CODE HERE: developer.unigine.com/en/docs/latest/code/usage/first-person_shooter/index?rlang=cs
In this episode, you will see how to:
- create basic logic of enemies with different states
- configure the navigation mesh for pathfinding
- add win / lose logic
Repository: gitlab.com/unigine/stream_fps_demo
0:11:48 — Fine-tuning the prefab
0:17:24 — Setting up physics of the prefab
0:22:55 — Arranging muzzles for bullet spawn
0:26:16 — Applying the finite-state machine for AI, defining the states
0:31:13 — Creating the Enemy Logic component with states
0:33:14 — Prototyping functions for states
0:34:57 — Calculating the distance between the enemy and the player and using it in the functions
0:40:16 — Using the physical body to move the enemy
0:46:00 — Transition between the states.
1:00:13 — Using the visualizer to debug transitions between states.
1:02:36 — Trying out the script and fixing the code.
1:10:06 — Setting intersection masks.
1:15:04 — Visualizing the view direction.
1:16:47 — Checking for intersections with the player collision shape (hitInfo).
1:25:27 — Workaround for visualizing the direction vector.
1:27:33 — Fixing the issue with the player being seen by the enemy through the wall.
1:29:17 — Continuing with intersection checks.
1:39:29 — Fixing the orientation.
1:57:50 — Doing the shooting (fire controller).
2:06:48 — Making the moving and destroyable bullet.
2:14:58 — Creating the navigation mesh for pathfinding.
2:26:22 — Modifying the enemy logic for pathfinding.
2:33:23 — Visualizing the route.
2:35:54 — Trying out and fixing bugs.
2:53:19 — Adding the delay for route calculation.
3:06:42 — Adding more robots.
3:08:28 — Creating the Health component to register damage.
3:21:50 — Creating the Game State component to switch between Play and Win/Lose states.
3:29:06 — Q&A.
#unigine #uniginetutorial #tutorial #3d










