Tutorial Videos (Coming Soon) | Demo | Documentation | Discord
The Advanced RTS Camera (ARTSC) is a highly flexible third-person style camera system that can be used in both games and industrial projects (such as ArchViz).
This camera runs directly out of the box (but should be optimized for your needs) and can be used in RTS, third-person, and racing (as a track camera) games. Several features for customization can be mixed and matched to create a unique experience.
Now with a menu system, including key bind remapping!
Do not hesitate to reach out with any questions, feedback, or for support. I can be reached at the Discord Link provided above or at [email protected].
Updates
V2.1 (5.1+ only)
- New feature: new method (ForceBreakTracking) added to allow users to stop camera tracking (useful on BasicMovement() and prevents CloseTrack() from being called unless camera is tracking)
- Created new getters for tracking – GetIsAttaching() will confirm if the camera is attaching (moving) to a tracked object, and GetIsTracking() will confirm if the camera is tracking
- All new functions (from version 2.0 and 2.1) now in the demo camera (BP_RTSCamera) with comments
- Renamed bDisableEdgeScroll (in BP this showed up as “Disable Edge Scroll”) to bDynamicallyDisableEdgeScroll (in BP this shows up as “Dynamically Disable Edge Scroll”)
- Added new variable bAlwaysDisableEdgeScroll (in BP this shows up as “Always Disable Edge Scroll”)
- Added checks to prevent edge scroll from happening when users do not want edge scroll to ever happen.
- Updated features for those not using the follow terrain height, so that the camera pawn height can be more easily adjusted (set “Desired Camera Height” and this will automatically take place now, without any additional nodes being used on BeginPlay)
- Fixed issue for those not using follow terrain height where the camera’s height would not return to the desired height after tracking an actor
- Pan, Zoom, and Tracking will no longer enable edge scroll if edge scroll is permanently disabled
- Fixed a typo on SetMovementSpeed category
V2
- Updated for Unreal5.3
- New feature: Advanced Collision Test that smoothly changes the length of the spring arm when an object is between the camera and pawn root. This replaces the standard collision test provide by the base spring arm class.
- Removed all kismet functions (except Gameplay Statics and text library) to further optimize the code
- New Feature (5.1 and newer only): Added a menu to allow users to remap controls
- New Feature (5.1 and newer only): Added a menu to allow users to modify camera speed and camera panning speed
- New Feature (5.1 and newer only): Added a menu to allow users to modify sound settings
- New Feature (5.1 and newer only): Added a menu to allow users to change visual scalability.
- New Feature (5.1 and newer only): Added a game instance (can be derived, or code can be copied) for a user’s setting save system for personalized settings (speed/pan sensitivity) and for audio settings and in UE5.1 and UE5.2 to save remapped inputs (note: for UE5.3 both remapping and visual scalability use the built-in user settings and do not need to be saved with this approach)
- New interfaces included to allow for interaction between menus and pawn.
- New Material Function/Feature: A new camera fade material has been added, this one uses a dither node to break fade out part of the object under the camera. This material function can be applied to any material using the masked domain and does not need the interface applied either. Giving designers and developers more options and easier way to apply the camera fade without worrying about loss of material attributes (e.g., base color)
- Created a custom spring arm class for the Advanced Collision Tests (further updates to this class are planned for later versions of this plugin).
- Updated header files to explicitly list the “_implementation” methods, so that developers can more easily navigate between the header and implementation files, and to avoid ordering issues when using an IDE’s (like VS2022) quick actions/refactoring tools.
- Added further options for tracking (the camera can begin attached to an actor to track)
v1.1
- Cleaned up for 5.2
- Fixed timers to be more performant (on tracking actors)
- Added new zoom features.