Supported o3de versions : 23.10
The O3DE-FirstPersonInteractionToolkit is a template project for first person adventure games built atop of Porcupine-Factory's FirstPersonController gem. The project contains a variety of simple documented script canvas scripts for various interactions as well as some template art assets for level design prototyping.
For a comprehensive setup guide please see Projects/SetupGuide.pdf
You need to build or install O3DE engine.
- Download (green "Code" button, then "Download ZIP") or clone the github repository (
git clone https://github.com/stevenharmongames/O3DE-FirstPersonInteractionToolkit.git
) - Launch O3DE. It will open the Project manager. Click on the New Project button then Open Existing Project option.
- Navigate to your download (and make sure it is unzipped). Open the Projects/FirstPersonProject folder. The project should now be registered.
- Click on the Build Project button, located on the FirstPersonProject image.
- Once the project has been built successfully, use the Open Editor button.
- The asset pre-processor will run for a bit. Once it is over you will be welcomed with the Open a Level window, simply pick the first one.
Move the character with WASD on the keyboard. Use the mouse to rotate the camera. All of the interactions are done via mouse left or right click.
- Modular interaction system with dynamic UI crosshair / popup text anims / object highlight
- Pickup, inspect (rotate), throw object, and return to original position
- Physics based doors that can be open, closed, and locked
- Ladder (half life 2 style based on look direction)
- Elevator with buttons to call the lift up/down
- Valve + Scifi Door (turnable wheel that controls 0<->1 value that can smoothly open doors or control other things)
- Read note (UI popup)
- Light switch (toggleable)
- Teleport triggers (walk in trigger area or place item, teleport to position without error / clipping through floor - height adjusted)
- Trampoline (based on incoming velocity, applies opposite upward force to objects / characters)
- Slide (no script, just weeeeeee!)
This project would not be possible without the generous help and advising from Eric Kuzmenko & NanaYellen, creators of the O3DE first person controller gem, and the O3DE Discord Community. Shoutout to Kepler - keplercodes & AJ - theoneabis for the debugging help.
The O3DE-FirstPersonInteractionToolkit is licensed under the MPL 2.0.