Skip to main content
Physics Effects is a PhysX Painter tool that applies a selected force effect to GameObjects already present in the scene. It does not spawn new objects — it finds existing GameObjects within a sphere around the cursor, temporarily makes them physics-simulated, and applies the active effect’s force to their rigidbodies.
New to Physics Effects? Follow the step-by-step Physics Effects — Getting Started tutorial first.

Supported resource types

Physics Effects supports:

How it works

  1. You click or drag in the scene view. The tool fires a ray downward to find the surface point.
  2. The active effect runs Physics.OverlapSphere centered at the surface point offset by the effect’s Position Offset Y, using a radius of Size / 2.
  3. For each collider found in the overlap, the tool gets the prefab root GameObject and checks whether it belongs to a selected prototype.
  4. If the object is within range and its prototype is selected, the tool retrieves or creates a SimulatedBody for it and calls the effect’s ApplyEffect method on its rigidbody.
  5. After processing all overlapping objects, the physics simulator is set to GlobalTimeDisablePhysicsMode (non-acceleration mode) so the objects simulate for a shared global time limit.

Tool-level settings

Physics Effects Tool Settings

  • Spacing — minimum cursor travel distance before the effect fires again while dragging. Default: 5. Minimum: 0.5.
  • Effect stack — a list of effects. You select one effect at a time as the active one. The tool runs only the selected effect on each interaction.

Available effects

Each effect has two shared settings drawn by the base editor, plus its own specific settings: Shared settings (all effects):
  • Position Offset Y — vertical offset of the effect center above the surface hit point. Range: –20 to 20. Default: 0. This shifts where the overlap sphere is centered.
  • Size — diameter of the overlap sphere used to find affected objects. Range: 0 to 100. Default: 10.

Explosion

Applies Rigidbody.AddExplosionForce from the effect center point. Objects within range are pushed outward in all directions, with upward lift (Unity’s built-in explosion uplift factor of 4.0 is used).
  • Force — explosion force magnitude. Range: 0 to 500. Default: 50.
The scene view sphere is red. Opacity scales with Force relative to the maximum.

Black Hole

Applies a directional force pulling each affected object toward the effect center. Force is applied proportional to distance (closer objects receive proportionally more pull).
  • Force — pull force magnitude. Range: 0 to 500. Default: 50.
The scene view sphere is black.

Fly Up

Applies a straight upward force (Vector3.up) to each affected object.
  • Force — upward force magnitude. Range: 0 to 200. Default: 30.
The scene view sphere is blue with an upward arrow indicating direction.

Simple Force

Applies a horizontal force in a direction controlled by a compass angle. The force direction is computed from the angle in the XZ plane (angle 0 points along +Z, angle 90 points along +X).
  • Angle — direction of the force in degrees, measured in the XZ plane. Range: 0 to 360. Default: 0.
  • Force — force magnitude. Range: 0 to 500. Default: 1.
The scene view sphere is green with a line showing the force direction.

When to use Physics Effects

Physics Effects is best when you want to:
  • move, push, lift, or attract GameObjects that are already placed in the scene;
  • experiment with physics forces on existing objects without resetting their placement;
  • create interactive physics effects for environment dressing or testing.

Notes

  • The tool belongs to the PhysX Painter family.
  • Only Unity/GameObject prototypes are supported — Terrain Objects are not affected.
  • The tool only affects objects whose prototype is currently selected in the active group.
  • This tool uses GlobalTimeDisablePhysicsMode (not per-object time), which means all affected objects simulate together for a shared duration after each interaction.
  • The effect runs on the selected effect only — all other effects in the stack are ignored.