Appearance
Milestone 1 - Starter Template
This template provides the foundational files to begin Milestone 1 implementation.
What's Included
- PlatformCharacter.h/.cpp - Base character class structure
- Input Action Assets - Enhanced Input configuration files
- Camera Tuning Data - Data asset for camera settings
- Character Tuning Data - Data asset for movement settings
Download Template
Or browse the files directly in the repository's templates/milestone-1-starter/
directory.
How to Use
- Create a new UE C++ project named "Platformer"
- Copy these template files to your project's Source folder
- Follow the detailed milestone guide to implement functionality
- Customize the tuning data assets for your game feel
File Structure
Source/Platformer/
├── PlatformCharacter.h
├── PlatformCharacter.cpp
├── TuningData/
│ ├── CharacterTuningData.h
│ ├── CharacterTuningData.cpp
│ ├── CameraTuningData.h
│ └── CameraTuningData.cpp
└── Input/
└── InputConfig.h
Key Features
- ✅ Enhanced Input system integration
- ✅ Spring arm camera with lag settings
- ✅ Data-driven movement parameters
- ✅ Jump and sprint functionality foundation
- ✅ Configurable camera behavior
Implementation Guide
After copying the template files:
- Follow the Detailed Guide: Milestone 1 - Step by Step
- Implement Input Actions: Set up Enhanced Input mapping context
- Configure Components: Wire up spring arm and camera
- Tune Movement: Adjust character and camera settings
- Test Functionality: Verify movement, jumping, and camera work
Next Steps
- Test your character movement and camera
- Proceed to Milestone 2 Template for interactions
- Reference the Complete Project if you get stuck
Support
If you encounter issues:
- Check the Troubleshooting Guide
- Review Common Mistakes
- Ensure all Prerequisites are met
Code Preview
PlatformCharacter.h (Header Structure)
cpp
UCLASS()
class PLATFORMER_API APlatformCharacter : public ACharacter
{
GENERATED_BODY()
public:
APlatformCharacter();
protected:
// Components
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera)
USpringArmComponent* SpringArmComponent;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera)
UCameraComponent* CameraComponent;
// Input Actions
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input)
UInputAction* MoveAction;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input)
UInputAction* JumpAction;
// ... more implementation details
};
This template provides the foundation - follow the detailed guide to complete the implementation!