Complex Solutions
This sample showcases a flexible arcade-style interaction system, built with UNIGINE's C# API. It presents foundational gameplay mechanics commonly used in shooter, and action-style applications. The project serves both as a beginner-friendly learning resource and a base for prototyping more advanced features such as basic non-player behavior or scoring logic.
Core Features:
- Player Controller: Control a robot character with keyboard input for movement and rotation.
- Projectile System: An automated turret fires projectiles using raycasting for hit detection and visual impact effects.
- Enemy Turret: A rotating turret that periodically shoots projectiles at the player.
- Health System: The robot takes damage and is destroyed when health reaches zero, with corresponding visual effects and cleanup.
- Node Spawning & Deletion: Bullets and particle effects are dynamically created and removed, with timed destruction to manage scene performance.
- Visual FX (Optional): Includes particle effects for shooting, impact, and destruction events.
Use Cases:
- Game Prototyping: Provides a foundation for building shooter mechanics, or arcade-style gameplay.
- Physics & Interaction: Demonstrates raycasting-based hit detection.
- Learning Tool: Ideal for beginners exploring the UNIGINE C# API and gameplay scripting.
SDK Path: <SDK_INSTALLATION>data/csharp_component_samples/complex/arcade
This sample demonstrates how to build a physics-based robotic arm with a kinematic chain composed of six links: one fixed and five movable. Each movable link is connected via a hinge joint (JointHinge) and driven by a motor that responds to keyboard inputs.
The arm's end effector is a magnetic gripper capable of grabbing, holding, and releasing dynamic objects in its environment. The gripper and each joint can be controlled independently via key bindings, which are configurable and demonstrated in the Controls section.
This setup provides a flexible starting point for creating custom robotic arms with any required number of degrees of freedom (DoF). You can replace manual input with a control system (e.g., inverse kinematics, AI, joystick, or ROS integration) to adapt the robot arm to your specific use case.
Use Cases:
- Simulation & prototyping of industrial robotic manipulators.
- Educational environments to teach principles of robotics, joint control, or physics-based animation.
- AI training for robotic arms using reinforcement learning or motion planning.
- Human-machine interfaces: test robotic interaction with dynamic environments.
- Virtual reality robotics simulations or operator training.
SDK Path: <SDK_INSTALLATION>data/csharp_component_samples/complex/robot_arm
Accessing Demo Source Code#
You can study and modify the source code of this demo to create your own projects. To access the source code do the following:
- Find the C# Component Samples demo in the Demos section and click Install (if you haven't installed it yet).
- After successful installation the demo will appear in the Installed section, and you can click Copy as Project to create a project based on this demo.
- In the Create New Project window, that opens, enter the name for your new project in the corresponding field and click Create New Project.
- Now you can click Open Code IDE to check and modify source code in your default IDE, or click Open Editor to open the project in the UnigineEditor.
The information on this page is valid for UNIGINE 2.20 SDK.