Omnistep

by Atair in Addons


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 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.


Fluid physics-based movement and capsule-based collision detection


Interact with Blender physics


Add new functionality through user-written scripts.
A Minecraft clone in 100 lines of code — directly written into the Blender scene.


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 up to the current 4.2.1 It has been tested on macOS and Windows.

    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.

    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.


    Visit omnistep.atair.cc for more information, demo files, and Scripting API docs.


    Sales 20+
    Customer Ratings 2
    Average Rating
    Dev Fund Contributor
    Published 1 day ago
    Blender Version 4.2, 4.1, 4.0, 3.6
    Extension Type Add-on
    License GPL
    Have questions before purchasing?

    Contact the Creator with your questions right now.

    Login to Message