Skip to content

OmniStep Overview

Blender Market | Gumroad | X (Twitter) | BlenderArtists | Support

Introduction

OmniStep is a Blender add-on that provides a scriptable first-person controller. It is an interactive animation and prototyping tool, offering a built-in game loop and optional scripting for more complex interactions.

Why This Exists

I always wanted to be able to walk and fly through my Blender scenes, experiencing them the same way I would be able to in a game engine. While Blender has its basic 'Walk Navigation' feature, it is far from what I had in mind - so I wrote OmniStep.

What It Can Do

OmniStep is a highly customizable and scriptable first-person controller comparable to AAA games in terms of movement mechanics, collision response, and input handling. With its ability to record movement and player actions, it can be used to create shots that would otherwise involve a lot of manual animation work. This includes walkthroughs and extremely smooth fly-throughs.

With its customizable walk and fly modes, a smart collision system, spawn points, and scripting support, it simplifies level prototyping, making Blender an even more versatile tool for game development and provides artists with an intuitive new way to experience their works.

Get OmniStep

Purchase OmniStep from the following marketplaces:



Features

  • First-Person Movement:
    • Full control over player parameters
    • Settings for gravity, speed, acceleration, friction, air-control, and more
    • Motion damping for stairs and uneven terrain
  • Fly Mode:
    • Fully physics-based movement
    • Settings for acceleration, friction, etc.
    • Mouselook and radial control functionality
    • Optional collisions
  • Camera Functionality:
    • Support for camera rigs with physics, constraints, etc.
    • Customizable banking and motion damping
    • Customizable focal length
  • Collision System:
    • Capsule-based collision detection
    • Utilizes a BVH-tree, capable of handling millions of triangles
    • Supports instanced collection and linked library collision
    • Selective inclusion or exclusion of collections
    • Partial dynamic collisions using the scripting module
    • Prevents endless falling by reusing last ground contact
  • Recording:
    • Camera motion recording
    • Loop recording
    • Buffered recording (recording without timeline playback)
  • Scripting:
    • Add new functionality through user-written scripts
    • Exposed game loop method
    • Automatically expose parameters in UI panels
    • Access to player parameters and the collision system
  • Customizable Settings:
    • Input smoothing options
    • Customizable keymaps and Gamepad mappings
    • Gamepad support for Windows (XInput)
    • Mouse settings including sensitivity and invert Y-axis
    • Custom N-panel placement
    • Framerate independence with support for 120+ Hz
    • Choice of scale settings: metric, imperial, and free
  • Additional Features:
    • Teleportation mechanic
    • Empties as spawn points

Requirements

OmniStep supports all platforms and Blender versions from 3.6 LTS up to the current 4.2. It has been tested on macOS and Windows.

Limitations

The collision system is tailored for static geometry and uses an underlying BVH-tree (Bounding Volume Hierarchy) for better performance in heavy scenes. This allows OmniStep to handle collisions with millions of triangles in real-time, but it comes with a trade-off: it does not support animated geometry by default. Animated objects can be excluded to avoid 'ghost' collisions.
Using the scripting module, dynamic collisions can be enabled on dedicated object.

Add-on Compliance

This add-on is fully self-contained, does not include any external libraries, does not directly interact with the file-system and operates entirely offline. It does not register with any application handlers and does not leave behind any residual data in the Blender scene, except for its settings configuration. The sidebar panel can be optionally nested under the 'Tool' tab to maintain a clean UI.

Future Plans

  • Additional Demo Scenes showcasing UserScripts
  • VR support
  • Ability to attach scripts to individual Blender objects
  • Expanded gamepad support (currently limited to XInput gamepads on Windows)
  • Port OmniStep to Unity, Godot, or Three.js